Package net.sf.saxon.expr.instruct
Class Block.BlockElaborator
- java.lang.Object
-
- net.sf.saxon.expr.elab.Elaborator
-
- net.sf.saxon.expr.elab.PullElaborator
-
- net.sf.saxon.expr.instruct.Block.BlockElaborator
-
- Enclosing class:
- Block
public static class Block.BlockElaborator extends PullElaborator
Elaborator for a "Block", which is typically either an XPath sequence expression (a, b, c) or an XSLT sequence constructor
-
-
Constructor Summary
Constructors Constructor Description BlockElaborator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PullEvaluator
elaborateForPull()
Get a function that evaluates the underlying expression in the form of aSequenceIterator
PushEvaluator
elaborateForPush()
Get a function that evaluates the underlying expression in push mode, by writing events to anOutputter
UpdateEvaluator
elaborateForUpdate()
SequenceEvaluator
lazily(boolean repeatable, boolean lazyEvaluationRequired)
Get a function that evaluates the underlying expression lazily-
Methods inherited from class net.sf.saxon.expr.elab.PullElaborator
eagerly, elaborateForBoolean, elaborateForItem, elaborateForUnicodeString
-
Methods inherited from class net.sf.saxon.expr.elab.Elaborator
elaborateForString, getConfiguration, getExpression, handleNullString, handleNullUnicodeString, handlePossiblyNullString, handlePossiblyNullUnicodeString, setExpression
-
-
-
-
Method Detail
-
lazily
public SequenceEvaluator lazily(boolean repeatable, boolean lazyEvaluationRequired)
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
public PullEvaluator 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
public PushEvaluator 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
-
elaborateForUpdate
public UpdateEvaluator elaborateForUpdate()
- Overrides:
elaborateForUpdate
in classElaborator
-
-