Package com.icl.saxon.expr
Class IsLastExpression
- java.lang.Object
-
- com.icl.saxon.expr.Expression
-
- com.icl.saxon.expr.IsLastExpression
-
public final class IsLastExpression extends Expression
position()=last() expression
-
-
Field Summary
-
Fields inherited from class com.icl.saxon.expr.Expression
staticContext
-
-
Constructor Summary
Constructors Constructor Description IsLastExpression(boolean condition)
Construct a condition that tests position()=last (if condition is true) or position()!=last() (if condition is false).
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
display(int level)
Diagnostic print of expression structureValue
evaluate(Context c)
Evaluate an expression.boolean
evaluateAsBoolean(Context c)
Evaluate an expression as a Boolean.
The result of x.evaluateAsBoolean(c) must be equivalent to x.evaluate(c).asBoolean(); but optimisations are possible when it is known that a boolean result is required, especially in the case of a NodeSet.boolean
getCondition()
int
getDataType()
Determine the data type of the expressionint
getDependencies()
Get the dependencies of this expression on the contextExpression
reduce(int dependencies, Context context)
Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.Expression
simplify()
Simplify an expression.-
Methods inherited from class com.icl.saxon.expr.Expression
containsReferences, enumerate, evaluateAsNodeSet, evaluateAsNumber, evaluateAsString, getStaticContext, indent, isContextDocumentNodeSet, make, outputStringValue, setStaticContext, usesCurrent
-
-
-
-
Method Detail
-
getCondition
public boolean getCondition()
-
simplify
public Expression simplify()
Description copied from class:Expression
Simplify an expression. Default implementation does nothing.- Overrides:
simplify
in classExpression
- Returns:
- the simplified expression
-
evaluate
public Value evaluate(Context c) throws XPathException
Description copied from class:Expression
Evaluate an expression.- Specified by:
evaluate
in classExpression
- Parameters:
c
- The context in which the expression is to be evaluated- Returns:
- the value of the expression, evaluated in the current context
- Throws:
XPathException
-
evaluateAsBoolean
public boolean evaluateAsBoolean(Context c) throws XPathException
Description copied from class:Expression
Evaluate an expression as a Boolean.
The result of x.evaluateAsBoolean(c) must be equivalent to x.evaluate(c).asBoolean(); but optimisations are possible when it is known that a boolean result is required, especially in the case of a NodeSet.- Overrides:
evaluateAsBoolean
in classExpression
- Parameters:
c
- The context in which the expression is to be evaluated- Returns:
- the value of the expression, evaluated in the current context
- Throws:
XPathException
-
getDataType
public int getDataType()
Determine the data type of the expression- Specified by:
getDataType
in classExpression
- Returns:
- Value.BOOLEAN
-
getDependencies
public int getDependencies()
Get the dependencies of this expression on the context- Specified by:
getDependencies
in classExpression
-
reduce
public Expression reduce(int dependencies, Context context) throws XPathException
Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.- Specified by:
reduce
in classExpression
- Parameters:
dependencies
- The dependencies to be removedcontext
- The context to be used for the partial evaluation- Returns:
- a new expression that does not have any of the specified dependencies
- Throws:
XPathException
-
display
public void display(int level)
Diagnostic print of expression structure- Specified by:
display
in classExpression
-
-