org.apache.commons.jxpath.ri
Class EvalContext
java.lang.Object
org.apache.commons.jxpath.ri.EvalContext
- ExpressionContext, Iterator
public abstract class EvalContext
extends java.lang.Object
An XPath evaluation context.
When evaluating a path, a chain of EvalContexts is created, each context in
the chain representing a step of the path. Subclasses of EvalContext
implement behavior of various XPath axes: "child::", "parent::" etc.
$Revision: 1.30 $ $Date: 2004/03/25 05:42:01 $
List | getContextNodeList() - Returns the list of all Pointers in this context for the current
position of the parent context.
|
Pointer | getContextNodePointer()
|
abstract NodePointer | getCurrentNodePointer() - Returns the current context node.
|
int | getCurrentPosition()
|
int | getDocumentOrder() - Determines the document order for this context.
|
JXPathContext | getJXPathContext()
|
NodeSet | getNodeSet() - Returns the list of all Pointers in this context for all positions
of the parent contexts.
|
int | getPosition()
|
RootContext | getRootContext() - Returns the root context of the path, which provides easy
access to variables and functions.
|
Pointer | getSingleNodePointer() - Returns the first encountered Pointer that matches the current
context's criteria.
|
Object | getValue() - Typically returns the NodeSet by calling getNodeSet(),
but will be overridden for contexts that more naturally produce
individual values, e.g.
|
boolean | hasNext() - Returns true if there are mode nodes matching the context's constraints.
|
boolean | isChildOrderingRequired() - Even if this context has the natural ordering and therefore does
not require collecting and sorting all nodes prior to returning them,
such operation may be required for any child context.
|
Object | next() - Returns the next node pointer in the context
|
abstract 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.
|
void | remove() - Operation is not supported
|
void | reset() - Sets current position = 0, which is the pre-iteration state.
|
boolean | setPosition(int position) - Moves the current position to the specified index.
|
String | toString()
|
position
protected int position
EvalContext
public EvalContext(EvalContext parentContext)
getContextNodeList
public List getContextNodeList()
Returns the list of all Pointers in this context for the current
position of the parent context.
- getContextNodeList in interface ExpressionContext
getCurrentNodePointer
public abstract NodePointer getCurrentNodePointer()
Returns the current context node. Undefined before the beginning
of the iteration.
getCurrentPosition
public int getCurrentPosition()
getDocumentOrder
public int getDocumentOrder()
Determines the document order for this context.
- 1 ascending order, -1 descending order,
0 - does not require ordering
getNodeSet
public NodeSet getNodeSet()
Returns the list of all Pointers in this context for all positions
of the parent contexts. If there was an ongoing iteration over
this context, the method should not be called.
getRootContext
public RootContext getRootContext()
Returns the root context of the path, which provides easy
access to variables and functions.
getSingleNodePointer
public Pointer getSingleNodePointer()
Returns the first encountered Pointer that matches the current
context's criteria.
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
hasNext
public boolean hasNext()
Returns true if there are mode nodes matching the context's constraints.
isChildOrderingRequired
public boolean isChildOrderingRequired()
Even if this context has the natural ordering and therefore does
not require collecting and sorting all nodes prior to returning them,
such operation may be required for any child context.
next
public Object next()
Returns the next node pointer in the context
nextNode
public abstract boolean nextNode()
Returns true if there is another object in the current set.
Switches the current position and node to the next object.
nextSet
public boolean nextSet()
Returns true if there is another sets of objects to interate over.
Resets the current position and node.
remove
public void remove()
Operation is not supported
reset
public void reset()
Sets current position = 0, which is the pre-iteration state.
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.
toString
public String toString()