## 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
`IsLastExpression(boolean condition)` Construct a condition that tests position()=last (if condition is true) or position()!=last() (if condition is false).

Method Summary
`void` `display(int level)` Diagnostic print of expression structure
`Value` `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 expression
`int` `getDependencies()` Get the dependencies of this expression on the context
`Expression` `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`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### IsLastExpression

    public IsLastExpression(boolean condition)

  Construct a condition that tests position()=last (if condition is true) or position()!=last() (if condition is false).

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 class `Expression`
  Returns:
    the simplified expression

### evaluate

    public Value evaluate(Context c)
                   throws XPathException

  Description copied from class: `Expression`
  Evaluate an expression.

  Specified by:
    `evaluate` in class `Expression`
  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 class `Expression`
  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 class `Expression`
  Returns:
    Value.BOOLEAN

### getDependencies

    public int getDependencies()

  Get the dependencies of this expression on the context

  Specified by:
    `getDependencies` in class `Expression`

### 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 class `Expression`
  Parameters:
    `dependencies` - The dependencies to be removed
    `context` - 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 class `Expression`