Package net.sf.saxon.expr
Class OperandRole
java.lang.Object
net.sf.saxon.expr.OperandRole
Defines the role of a child expression relative to its parent expression. The properties
of an operand role depend only on the kind of expression and not on the actual arguments
supplied to a specific instance of the kind of operand.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final OperandRolestatic final OperandRolestatic final intstatic final OperandRolestatic final OperandRolestatic final intstatic final intstatic final intstatic final OperandRolestatic final OperandRolestatic final OperandRolestatic final OperandRole(package private) intstatic final OperandRolestatic final OperandRolestatic final OperandRolestatic final OperandRolestatic final intstatic final OperandRolestatic final intstatic final int -
Constructor Summary
ConstructorsConstructorDescriptionOperandRole(int properties, OperandUsage usage) OperandRole(int properties, OperandUsage usage, SequenceType requiredType) -
Method Summary
Modifier and TypeMethodDescriptionintGet the required type of the operandstatic OperandUsageStatic method to get the type-determined usage for a particular ItemTypegetUsage()Get the usage of the operandbooleanAsk whether the child expression is evaluated with the same focus as its parent expressionbooleanbooleanAsk whether the operand is constrained to be of a particular class (preventing substitution of a variable binding)booleanAsk whether the operand is a higher-order operand, in the sense that the child expression is evaluated repeatedly during a single evaluation of the parent expressionbooleanbooleanAsk whether the operand is a member of a choice groupmodifyProperty(int property, boolean on) booleanAsk whether the child expression sets the focus for evaluation of other child expressions
-
Field Details
-
SETS_NEW_FOCUS
public static final int SETS_NEW_FOCUS- See Also:
-
USES_NEW_FOCUS
public static final int USES_NEW_FOCUS- See Also:
-
HIGHER_ORDER
public static final int HIGHER_ORDER- See Also:
-
IN_CHOICE_GROUP
public static final int IN_CHOICE_GROUP- See Also:
-
CONSTRAINED_CLASS
public static final int CONSTRAINED_CLASS- See Also:
-
SINGLETON
public static final int SINGLETON- See Also:
-
HAS_SPECIAL_FOCUS_RULES
public static final int HAS_SPECIAL_FOCUS_RULES- See Also:
-
SAME_FOCUS_ACTION
-
FOCUS_CONTROLLING_SELECT
-
FOCUS_CONTROLLED_ACTION
-
INSPECT
-
ABSORB
-
REPEAT_INSPECT
-
NAVIGATE
-
REPEAT_NAVIGATE
-
REPEAT_NAVIGATE_CONSTRAINED
-
SINGLE_ATOMIC
-
ATOMIC_SEQUENCE
-
NEW_FOCUS_ATOMIC
-
PATTERN
-
properties
int properties
-
-
Constructor Details
-
OperandRole
-
OperandRole
-
-
Method Details
-
setsNewFocus
public boolean setsNewFocus()Ask whether the child expression sets the focus for evaluation of other child expressions- Returns:
- true if the child expression is evaluated with the same focus as its parent expression
-
hasSameFocus
public boolean hasSameFocus()Ask whether the child expression is evaluated with the same focus as its parent expression- Returns:
- true if the child expression is evaluated with the same focus as its parent expression
-
hasSpecialFocusRules
public boolean hasSpecialFocusRules() -
isEvaluatedRepeatedly
public boolean isEvaluatedRepeatedly()Ask whether the operand is a higher-order operand, in the sense that the child expression is evaluated repeatedly during a single evaluation of the parent expression- Returns:
- true if the operand is higher-order
-
isHigherOrder
public boolean isHigherOrder() -
isConstrainedClass
public boolean isConstrainedClass()Ask whether the operand is constrained to be of a particular class (preventing substitution of a variable binding)- Returns:
- true if the operand expression is constrained to be of a particular class
-
getUsage
Get the usage of the operand- Returns:
- the usage
-
getRequiredType
Get the required type of the operand- Returns:
- the required type
-
isInChoiceGroup
public boolean isInChoiceGroup()Ask whether the operand is a member of a choice group- Returns:
- true if the operand is in a choice group
-
getTypeDeterminedUsage
Static method to get the type-determined usage for a particular ItemType- Parameters:
type- the required type- Returns:
- the type-determined operand usage
-
modifyProperty
-
getProperties
public int getProperties()
-