org.apache.commons.jxpath.ri.axes

Class ChildContext

Implemented Interfaces:
ExpressionContext, Iterator

public class ChildContext
extends EvalContext

EvalContext that can walk the "child::", "following-sibling::" and "preceding-sibling::" axes.
Version:
$Revision: 1.16 $ $Date: 2004/03/25 03:49:50 $
Author:
Dmitri Plotnikov

Field Summary

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

parentContext, position, rootContext

Constructor Summary

ChildContext(EvalContext parentContext, NodeTest nodeTest, boolean startFromParentLocation, boolean reverse)

Method Summary

NodePointer
getCurrentNodePointer()
Returns the current context node.
Pointer
getSingleNodePointer()
This method is called on the last context on the path when only one value is needed.
boolean
nextNode()
Returns true if there is another object in the current set.
void
reset()
Sets current position = 0, which is the pre-iteration state.
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

ChildContext

public ChildContext(EvalContext parentContext,
                    NodeTest nodeTest,
                    boolean startFromParentLocation,
                    boolean reverse)

Method Details

getCurrentNodePointer

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

getSingleNodePointer

public Pointer getSingleNodePointer()
This method is called on the last context on the path when only one value is needed. Note that this will return the whole property, even if it is a collection. It will not extract the first element of the collection. For example, "books" will return the collection of books rather than the first book from that collection.
Overrides:
getSingleNodePointer 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

reset

public void reset()
Sets current position = 0, which is the pre-iteration state.
Overrides:
reset 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