Package net.sf.saxon.expr
Class GlobalVariableReference.GlobalVariableReferenceElaborator
java.lang.Object
net.sf.saxon.expr.elab.Elaborator
net.sf.saxon.expr.elab.PullElaborator
net.sf.saxon.expr.GlobalVariableReference.GlobalVariableReferenceElaborator
- All Implemented Interfaces:
SequenceEvaluator
- Enclosing class:
GlobalVariableReference
public static class GlobalVariableReference.GlobalVariableReferenceElaborator
extends PullElaborator
implements SequenceEvaluator
Elaborator for a global variable reference, for example
$globalVar
.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioneagerly()
Get a function that evaluates the underlying expression eagerlyGet a function that evaluates the underlying expression in the form of aItem
.Get a function that evaluates the underlying expression in the form of aSequenceIterator
Get a function that evaluates the underlying expression in push mode, by writing events to anOutputter
evaluate
(XPathContext context) Evaluate a construct to produce a value (which might be a lazily evaluated Sequence)lazily
(boolean repeatable, boolean lazyEvaluationRequired) Get a function that evaluates the underlying expression lazilyMethods inherited from class net.sf.saxon.expr.elab.PullElaborator
elaborateForBoolean, elaborateForUnicodeString
Methods inherited from class net.sf.saxon.expr.elab.Elaborator
elaborateForString, elaborateForUpdate, getConfiguration, getExpression, handleNullString, handleNullUnicodeString, handlePossiblyNullString, handlePossiblyNullUnicodeString, setExpression
-
Constructor Details
-
GlobalVariableReferenceElaborator
public GlobalVariableReferenceElaborator()
-
-
Method Details
-
evaluate
Evaluate a construct to produce a value (which might be a lazily evaluated Sequence)- Specified by:
evaluate
in interfaceSequenceEvaluator
- Parameters:
context
- the evaluation context- Returns:
- a Sequence (not necessarily grounded)
- Throws:
XPathException
- if a dynamic error occurs during the evaluation.
-
eagerly
Description copied from class:Elaborator
Get a function that evaluates the underlying expression eagerly- Overrides:
eagerly
in classPullElaborator
- Returns:
- an evaluator for the expression that returns a
GroundedValue
. The classSequenceEvaluator
is declared to return aSequence
not aGroundedValue
; we can't specialize it because it's a limitation of C# delegates, but the result can safely be cast toGroundedValue
.
-
lazily
Description copied from class:Elaborator
Get a function that evaluates the underlying expression lazily- Overrides:
lazily
in classElaborator
- Parameters:
repeatable
- true if the resultingSequence
must be usable repeatedly; false if it only needs to be used oncelazyEvaluationRequired
- true if the expression MUST be evaluated lazily, for example to prevent spurious errors or side-effects if it has been lifted out of a loop- Returns:
- an evaluator for the expression that returns a
Sequence
(which may be a lazy sequence)
-
elaborateForPull
Description copied from class:Elaborator
Get a function that evaluates the underlying expression in the form of aSequenceIterator
- Specified by:
elaborateForPull
in classPullElaborator
- Returns:
- an evaluator for the expression that returns a
SequenceIterator
-
elaborateForPush
Description copied from class:Elaborator
Get a function that evaluates the underlying expression in push mode, by writing events to anOutputter
- Overrides:
elaborateForPush
in classPullElaborator
- Returns:
- an evaluator for the expression in push mode
-
elaborateForItem
Description copied from class:Elaborator
Get a function that evaluates the underlying expression in the form of aItem
. This must only be called for expressions whose result has cardinality zero or one.- Overrides:
elaborateForItem
in classPullElaborator
- Returns:
- an evaluator for the expression that returns an
Item
, or null to represent an empty sequence.
-