## org.apache.xpath.functions
Class FuncLast

    java.lang.Object
      org.apache.xpath.Expression
          org.apache.xpath.functions.Function
              org.apache.xpath.functions.FuncLast

All Implemented Interfaces:
  java.io.Serializable, javax.xml.transform.SourceLocator, ExpressionNode, XPathVisitable

    public class FuncLast

extends Function

Execute the Last() function.

See Also:
  Serialized Form
Usage:
  **For advanced use only**

Constructor Summary
`FuncLast()`

Method Summary
`XObject` `execute(XPathContext xctxt)` Execute the function.
`void` `fixupVariables(java.util.Vector vars, int globalsSize)` No arguments to process, so this does nothing.
`int` `getCountOfContextNodeList(XPathContext xctxt)` Get the position in the current context node list.
`void` `postCompileStep(Compiler compiler)` Figure out if we're executing a toplevel expression.

Methods inherited from class org.apache.xpath.functions.Function
`callArgVisitors, callVisitors, checkNumberArgs, deepEquals, setArg`

Methods inherited from class org.apache.xpath.Expression
`asIterator, asIteratorRaw, asNode, assertion, bool, canTraverseOutsideSubtree, error, execute, execute, execute, executeCharsToContentHandler, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isNodesetExpr, isStableNumber, num, warn, xstr`

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

Constructor Detail

### FuncLast

    public FuncLast()

Method Detail

### postCompileStep

    public void postCompileStep(Compiler compiler)

  Figure out if we're executing a toplevel expression. If so, we can't be inside of a predicate.

  Overrides:
    `postCompileStep` in class `Function`

### getCountOfContextNodeList

    public int getCountOfContextNodeList(XPathContext xctxt)
                                  throws javax.xml.transform.TransformerException

  Get the position in the current context node list.

  Parameters:
    `xctxt` - non-null reference to XPath runtime context.
  Returns:
    The number of nodes in the list.
  Throws:
    `javax.xml.transform.TransformerException`

### execute

    public XObject execute(XPathContext xctxt)
                    throws javax.xml.transform.TransformerException

  Execute the function. The function must return a valid object.

  Overrides:
    `execute` in class `Function`
  Parameters:
    `xctxt` - The current execution context.
  Returns:
    A valid XObject.
  Throws:
    `javax.xml.transform.TransformerException`

### fixupVariables

    public void fixupVariables(java.util.Vector vars,
                               int globalsSize)

  No arguments to process, so this does nothing.

  Specified by:
    `fixupVariables` in class `Expression`
  Parameters:
    `vars` - List of QNames that correspond to variables. This list should be searched backwards for the first qualified name that corresponds to the variable reference qname. The position of the QName in the vector from the start of the vector will be its position in the stack frame (but variables above the globalsTop value will need to be offset to the current stack frame). NEEDSDOC @param globalsSize

Copyright © 2005 Apache XML Project. All Rights Reserved.