Package com.saxonica.ee.optim
Class SwitchExpression.SwitchExprElaborator
java.lang.Object
net.sf.saxon.expr.elab.Elaborator
net.sf.saxon.expr.elab.PullElaborator
com.saxonica.ee.optim.SwitchExpression.SwitchExprElaborator
- Enclosing class:
SwitchExpression
Elaborator for a "Switch" expression (typically an
xsl:choose
that tests one expression against a list
of constants: not exactly equivalent to an XQuery 3.1 switch expression).
Provides "push" and "pull" implementations, as well as a singleton implementation.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGet 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
Methods inherited from class net.sf.saxon.expr.elab.PullElaborator
eagerly, elaborateForBoolean, elaborateForUnicodeString
Methods inherited from class net.sf.saxon.expr.elab.Elaborator
elaborateForString, elaborateForUpdate, getConfiguration, getExpression, handleNullString, handleNullUnicodeString, handlePossiblyNullString, handlePossiblyNullUnicodeString, lazily, setExpression
-
Constructor Details
-
SwitchExprElaborator
public SwitchExprElaborator()
-
-
Method Details
-
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
-
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.
-
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
-