org.apache.xpath.functions
Class FuncPosition

java.lang.Object
  extended by org.apache.xpath.Expression
      extended by org.apache.xpath.functions.Function
          extended by org.apache.xpath.functions.FuncPosition
All Implemented Interfaces:
java.io.Serializable, javax.xml.transform.SourceLocator, ExpressionNode, XPathVisitable

public class FuncPosition
extends Function

Execute the Position() function.

See Also:
Serialized Form

Field Summary
private  boolean m_isTopLevel
           
(package private) static long serialVersionUID
           
 
Constructor Summary
FuncPosition()
           
 
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 getPositionInContextNodeList(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, reportWrongNumberArgs, 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, isSameClass, isStableNumber, num, warn, xstr
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

static final long serialVersionUID
See Also:
Constant Field Values

m_isTopLevel

private boolean m_isTopLevel
Constructor Detail

FuncPosition

public FuncPosition()
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

getPositionInContextNodeList

public int getPositionInContextNodeList(XPathContext xctxt)
Get the position in the current context node list.

Parameters:
xctxt - Runtime XPath context.
Returns:
The current position of the itteration in the context node list, or -1 if there is no active context node list.

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