org.apache.commons.jxpath.ri.axes

Class NodeSetContext

Implemented Interfaces:
ExpressionContext, Iterator
Known Direct Subclasses:
UnionContext

public class NodeSetContext
extends EvalContext

A simple context that is based on a NodeSet.
Version:
$Revision: 1.3 $ $Date: 2004/02/29 14:17:37 $
Author:
Dmitri Plotnikov

Field Summary

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

parentContext, position, rootContext

Constructor Summary

NodeSetContext(EvalContext parentContext, NodeSet nodeSet)

Method Summary

NodePointer
getCurrentNodePointer()
Returns the current context node.
NodeSet
getNodeSet()
Returns the list of all Pointers in this context for all positions of the parent contexts.
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.

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

Constructor Details

NodeSetContext

public NodeSetContext(EvalContext parentContext,
                      NodeSet nodeSet)

Method Details

getCurrentNodePointer

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

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.
Overrides:
getNodeSet in interface EvalContext

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