org.apache.xpath.functions

Class FuncLast

Implemented Interfaces:
java.io.Serializable, ExpressionNode, SourceLocator, XPathVisitable

public class FuncLast
extends Function

Execute the Last() function.

See Also:
Serialized Form

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, execute, postCompileStep, setArg

Methods inherited from class org.apache.xpath.Expression

asIterator, asIteratorRaw, asNode, assertion, bool, canTraverseOutsideSubtree, deepEquals, error, execute, execute, execute, execute, executeCharsToContentHandler, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, fixupVariables, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isNodesetExpr, isStableNumber, num, warn, xstr

Method Details

execute

public XObject execute(XPathContext xctxt)
            throws TransformerException
Execute the function. The function must return a valid object.
Overrides:
execute in interface Function

Parameters:
xctxt - The current execution context.

Returns:
A valid XObject.

Throws:
TransformerException -


fixupVariables

public void fixupVariables(java.util.Vector vars,
                           int globalsSize)
No arguments to process, so this does nothing.
Overrides:
fixupVariables in interface Expression


getCountOfContextNodeList

public int getCountOfContextNodeList(XPathContext xctxt)
            throws 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:
TransformerException -


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 interface Function


Copyright B) 2004 Apache XML Project. All Rights Reserved.