Package net.sf.saxon.expr
Class Literal.LiteralElaborator
java.lang.Object
net.sf.saxon.expr.elab.Elaborator
net.sf.saxon.expr.elab.PullElaborator
net.sf.saxon.expr.Literal.LiteralElaborator
- Enclosing class:
Literal
Elaborator for a literal.
Evaluators are supplied for evaluation in pull, push, and singleton mode, as well as boolean evaluation
-
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 a boolean, this being the effective boolean value of the expression.Get a function that evaluates the underlying expression in the form of aItem.Get a function that evaluates the underlying expression in the form of aSequenceIteratorGet a function that evaluates the underlying expression in push mode, by writing events to anOutputterelaborateForString(boolean zeroLengthWhenAbsent) Get a function that evaluates the underlying expression in the form of a Java string, this being the result of applying fn:string() to the result of the expression.elaborateForUnicodeString(boolean zeroLengthWhenAbsent) Get a function that evaluates the underlying expression in the form of a unicode string, this being the result of applying fn:string() to the result of the expression.lazily(boolean repeatable, boolean lazyEvaluationRequired) Get a function that evaluates the underlying expression lazilyMethods inherited from class net.sf.saxon.expr.elab.Elaborator
getConfiguration, getExpression, handleNullString, handleNullUnicodeString, handlePossiblyNullString, handlePossiblyNullUnicodeString, setExpression
-
Constructor Details
-
LiteralElaborator
public LiteralElaborator()
-
-
Method Details
-
eagerly
Description copied from class:ElaboratorGet a function that evaluates the underlying expression eagerly- Overrides:
eagerlyin classPullElaborator- Returns:
- an evaluator for the expression that returns a
GroundedValue. The classSequenceEvaluatoris declared to return aSequencenot 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:ElaboratorGet a function that evaluates the underlying expression lazily- Overrides:
lazilyin classElaborator- Parameters:
repeatable- true if the resultingSequencemust 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:ElaboratorGet a function that evaluates the underlying expression in the form of aSequenceIterator- Specified by:
elaborateForPullin classPullElaborator- Returns:
- an evaluator for the expression that returns a
SequenceIterator
-
elaborateForPush
Description copied from class:ElaboratorGet a function that evaluates the underlying expression in push mode, by writing events to anOutputter- Overrides:
elaborateForPushin classPullElaborator- Returns:
- an evaluator for the expression in push mode
-
elaborateForItem
Description copied from class:ElaboratorGet 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:
elaborateForItemin classPullElaborator- Returns:
- an evaluator for the expression that returns an
Item, or null to represent an empty sequence.
-
elaborateForBoolean
Description copied from class:ElaboratorGet a function that evaluates the underlying expression in the form of a boolean, this being the effective boolean value of the expression.- Overrides:
elaborateForBooleanin classPullElaborator- Returns:
- an evaluator for the expression that returns a boolean.
-
elaborateForUnicodeString
Description copied from class:ElaboratorGet a function that evaluates the underlying expression in the form of a unicode string, this being the result of applying fn:string() to the result of the expression.- Overrides:
elaborateForUnicodeStringin classPullElaborator- Parameters:
zeroLengthWhenAbsent- if true, then when the result of the expression is an empty sequence, the result of the StringEvaluator should be a zero-length string. If false, the return value should be null. For an expression or function that never returns an empty sequence (for example, a call on string() or normalize-space()), the argument has no effect.- Returns:
- an evaluator for the expression that returns a string.
-
elaborateForString
Description copied from class:ElaboratorGet a function that evaluates the underlying expression in the form of a Java string, this being the result of applying fn:string() to the result of the expression.- Overrides:
elaborateForStringin classElaborator- Parameters:
zeroLengthWhenAbsent- if true, then when the result of the expression is an empty sequence, the result of the StringEvaluator should be a zero-length string. If false, the return value should be null.- Returns:
- an evaluator for the expression that returns a string.
-
elaborateForUpdate
- Overrides:
elaborateForUpdatein classElaborator
-