org.apache.commons.jxpath.ri.axes

Class RootContext

Implemented Interfaces:
ExpressionContext, Iterator

public class RootContext
extends EvalContext

EvalContext that is used to hold the root node for the path traversal.
Version:
$Revision: 1.18 $ $Date: 2004/04/01 02:55:31 $
Author:
Dmitri Plotnikov

Field Summary

static Object
UNKNOWN_VALUE

Fields inherited from class org.apache.commons.jxpath.ri.EvalContext

parentContext, position, rootContext

Constructor Summary

RootContext(JXPathContextReferenceImpl jxpathContext, NodePointer pointer)

Method Summary

EvalContext
getAbsoluteRootContext()
EvalContext
getConstantContext(Object constant)
NodePointer
getCurrentNodePointer()
Returns the current context node.
int
getCurrentPosition()
Function
getFunction(QName functionName, Object[] parameters)
JXPathContext
getJXPathContext()
Get the JXPathContext in which this function is being evaluated.
Object
getRegisteredValue(int id)
RootContext
getRootContext()
Returns the root context of the path, which provides easy access to variables and functions.
Object
getValue()
Typically returns the NodeSet by calling getNodeSet(), but will be overridden for contexts that more naturally produce individual values, e.g.
EvalContext
getVariableContext(QName variableName)
boolean
nextNode()
Returns true if there is another object in the current set.
boolean
nextSet()
Returns true if there is another sets of objects to interate over.
boolean
setPosition(int position)
Moves the current position to the specified index.
int
setRegisteredValue(Object value)
String
toString()

Methods inherited from class org.apache.commons.jxpath.ri.EvalContext

getContextNodeList, getContextNodePointer, getCurrentNodePointer, getCurrentPosition, getDocumentOrder, getJXPathContext, getNodeSet, getPosition, getRootContext, getSingleNodePointer, getValue, hasNext, isChildOrderingRequired, next, nextNode, nextSet, remove, reset, setPosition, toString

Field Details

UNKNOWN_VALUE

public static final Object UNKNOWN_VALUE

Constructor Details

RootContext

public RootContext(JXPathContextReferenceImpl jxpathContext,
                   NodePointer pointer)

Method Details

getAbsoluteRootContext

public EvalContext getAbsoluteRootContext()

getConstantContext

public EvalContext getConstantContext(Object constant)

getCurrentNodePointer

public NodePointer getCurrentNodePointer()
Returns the current context node. Undefined before the beginning of the iteration.
Overrides:
getCurrentNodePointer in interface EvalContext

getCurrentPosition

public int getCurrentPosition()
Overrides:
getCurrentPosition in interface EvalContext

getFunction

public Function getFunction(QName functionName,
                            Object[] parameters)

getJXPathContext

public JXPathContext getJXPathContext()
Get the JXPathContext in which this function is being evaluated.
Specified by:
getJXPathContext in interface ExpressionContext
Overrides:
getJXPathContext in interface EvalContext
Returns:
A list representing the current context nodes.

getRegisteredValue

public Object getRegisteredValue(int id)

getRootContext

public RootContext getRootContext()
Returns the root context of the path, which provides easy access to variables and functions.
Overrides:
getRootContext in interface EvalContext

getValue

public Object getValue()
Typically returns the NodeSet by calling getNodeSet(), but will be overridden for contexts that more naturally produce individual values, e.g. VariableContext
Overrides:
getValue in interface EvalContext

getVariableContext

public EvalContext getVariableContext(QName variableName)

nextNode

public boolean nextNode()
Returns true if there is another object in the current set. Switches the current position and node to the next object.
Overrides:
nextNode in interface EvalContext

nextSet

public boolean nextSet()
Returns true if there is another sets of objects to interate over. Resets the current position and node.
Overrides:
nextSet in interface EvalContext

setPosition

public boolean setPosition(int position)
Moves the current position to the specified index. Used with integer predicates to quickly get to the n'th element of the node set. Returns false if the position is out of the node set range. You can call it with 0 as the position argument to restart the iteration.
Overrides:
setPosition in interface EvalContext

setRegisteredValue

public int setRegisteredValue(Object value)

toString

public String toString()
Overrides:
toString in interface EvalContext