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 voiddisplay(int level)Diagnostic print of expression structureValueevaluate(Context c)Evaluate an expression.booleanevaluateAsBoolean(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.booleangetCondition()intgetDataType()Determine the data type of the expressionintgetDependencies()Get the dependencies of this expression on the contextExpressionreduce(int dependencies, Context context)Perform a partial evaluation of the expression, by eliminating specified dependencies on the context.Expressionsimplify()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:ExpressionSimplify an expression. Default implementation does nothing.- Overrides:
simplifyin classExpression- Returns:
- the simplified expression
-
evaluate
public Value evaluate(Context c) throws XPathException
Description copied from class:ExpressionEvaluate an expression.- Specified by:
evaluatein 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:ExpressionEvaluate 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:
evaluateAsBooleanin 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:
getDataTypein classExpression- Returns:
- Value.BOOLEAN
-
getDependencies
public int getDependencies()
Get the dependencies of this expression on the context- Specified by:
getDependenciesin 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:
reducein 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:
displayin classExpression
-
-