public abstract class FolSchematronNode extends Object
Modifier and Type | Class and Description |
---|---|
static class |
FolSchematronNode.Arithmetic
************************************************************************
This class stands for OCL arithmetic.
|
static class |
FolSchematronNode.AttributeNode
************************************************************************
This class represents a chain of attribute selectors based on some value
source such as a variable.
|
static class |
FolSchematronNode.BindingContext
The primary information stored in this class is whether there is
currently a nodeset context at all - NONE if the expression is not a
nodeset - and if the context is currently identical to current() -
ATCURRENT.
|
static class |
FolSchematronNode.ComparisonNode
************************************************************************
This class stands for comparisons.
|
static class |
FolSchematronNode.Empty
************************************************************************
This one stands for the OCL isEmpty() and notEmpty()
predicate operations.
|
static class |
FolSchematronNode.Error
************************************************************************
This is generated for unimplemented material.
|
static class |
FolSchematronNode.IsNullNode
************************************************************************
This class represents the isNull filter.
|
static class |
FolSchematronNode.IsTypeOfNode
************************************************************************
This class represents a type check.
|
static class |
FolSchematronNode.LiteralNode
************************************************************************
This wraps any form of Literal value.
|
static class |
FolSchematronNode.Logic
************************************************************************
This class stands for logical operations AND, OR, XOR and EQV.
|
static class |
FolSchematronNode.Matches
************************************************************************
This class stands for matches operation, which this implemention added to
OCL's core functions.
|
static class |
FolSchematronNode.MessageComment
This represents an error message comment.
|
static class |
FolSchematronNode.NotNode
************************************************************************
|
static class |
FolSchematronNode.QuantificationNode
************************************************************************
This class represents a universal or existential quantification.
|
static class |
FolSchematronNode.VariableNode
************************************************************************
This class represents a variable.
|
protected static class |
FolSchematronNode.XpathFragment
This auxiliary class encapsulates an Xpath expression, which can be
formulated using variables defined using <let> expressions of a
Schematron <rule>.
|
protected static class |
FolSchematronNode.XpathType
Types of XPath
|
Modifier and Type | Field and Description |
---|---|
static int |
BY_REFERENCE |
protected ArrayList<FolSchematronNode> |
children
The children of the SchematronNode
|
static int |
INLINE |
static int |
INLINE_OR_BY_REFERENCE |
protected FolSchematronNode |
parent
The parent reference
|
protected FOL2Schematron |
schemaObject
Link back to FOL2Schematron object
|
static int |
SIMPLE_TYPE |
Constructor and Description |
---|
FolSchematronNode() |
Modifier and Type | Method and Description |
---|---|
void |
addChild(FolSchematronNode child)
Method to add children to a node and at the same time establish the node
as parent of the child to be added.
|
boolean |
containsError()
Find out whether this construct contains a node of type
SchematronNode.Error.
|
FolSchematronNode.AttributeNode |
generatingAttribute()
By means of this function you can inquire which Attribute node is
generating the objects represented by this node.
|
boolean |
hasIdentity()
This predicate finds out whether the given node is realized by means of a
class, which conceptually has identity.
|
boolean |
hasSimpleType()
This predicate finds out whether the given node is realized by means of a
simple XML schema type.
|
boolean |
hasSimpleType(PropertyInfo pi) |
boolean |
isAIXMExtension(Info i) |
boolean |
isAndOrLogic(boolean isAnd)
Method to inquire whether the the node inquired is a Logic node AND this
logic node has the same isAnd polarity as specified in the
parameter.
|
boolean |
isDependentOn(Variable vardecl)
This method determines whether the given expression depends on the
Variable passed as argument.
|
boolean |
isMultiple()
This predicate finds out whether the given node may produce a set.
|
boolean |
isVarOrAttribBased(Variable vardecl)
This method determines whether the given expression is a Variable or an
Attribute based on a Variable, which is identical to the one passed as
argument.
|
FolSchematronNode |
nodeVariableIsBoundTo(Variable vardecl)
This method determines whether the node binds the given variable
declaration (this can only happen for iterators) and if it does, which is
the expression the variable is bound to.
|
FolSchematronNode.XpathFragment |
objValueFromVariable(Variable var) |
abstract FolSchematronNode.XpathFragment |
translate(FolSchematronNode.BindingContext ctx)
This abstract method compiles a node to an XPath expression fragment.
|
public static final int SIMPLE_TYPE
public static final int INLINE
public static final int BY_REFERENCE
public static final int INLINE_OR_BY_REFERENCE
protected ArrayList<FolSchematronNode> children
protected FolSchematronNode parent
protected FOL2Schematron schemaObject
public void addChild(FolSchematronNode child)
child
- The Child node to be addedpublic boolean isAndOrLogic(boolean isAnd)
Method to inquire whether the the node inquired is a Logic node AND this logic node has the same isAnd polarity as specified in the parameter.
This implementation installs the default for all derivations except Logic.
isAnd
- Flag: Are we an AND? (not an OR)?public boolean isDependentOn(Variable vardecl)
This method determines whether the given expression depends on the Variable passed as argument.
This implementation defines the default behavior: Descend down and try to find the variable somewhere.
vardecl
- The Variable of the variablepublic FolSchematronNode nodeVariableIsBoundTo(Variable vardecl)
vardecl
- The variable Variable objectpublic FolSchematronNode.XpathFragment objValueFromVariable(Variable var)
public boolean isVarOrAttribBased(Variable vardecl)
This method determines whether the given expression is a Variable or an Attribute based on a Variable, which is identical to the one passed as argument.
This implementation defines the default behavior.
vardecl
- The Variable of the variablepublic FolSchematronNode.AttributeNode generatingAttribute()
By means of this function you can inquire which Attribute node is generating the objects represented by this node. Note that invocation is only sensible for iterators and attributes.
public boolean isMultiple()
This predicate finds out whether the given node may produce a set.
This is the default implementation providing the value false.
public boolean hasSimpleType()
This predicate finds out whether the given node is realized by means of a simple XML schema type.
public boolean hasSimpleType(PropertyInfo pi)
public boolean hasIdentity()
This predicate finds out whether the given node is realized by means of a class, which conceptually has identity.
public boolean isAIXMExtension(Info i)
public boolean containsError()
Find out whether this construct contains a node of type SchematronNode.Error. In this case the whole tree is in error.
public abstract FolSchematronNode.XpathFragment translate(FolSchematronNode.BindingContext ctx)
This abstract method compiles a node to an XPath expression fragment.
ctx
- BindingContext this node shall be compiled inCopyright © 2018. All rights reserved.