org.apache.commons.jxpath.ri.axes
Class ChildContext

java.lang.Object
  extended by org.apache.commons.jxpath.ri.EvalContext
      extended by org.apache.commons.jxpath.ri.axes.ChildContext
All Implemented Interfaces:
Iterator, ExpressionContext

public class ChildContext
extends EvalContext

EvalContext that can walk the "child::", "following-sibling::" and "preceding-sibling::" axes.

Version:
$Revision: 652903 $ $Date: 2008-05-02 15:46:32 -0500 (Fri, 02 May 2008) $
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)
          Create a new ChildContext.
 
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, getCurrentPosition, getDocumentOrder, getJXPathContext, getNodeSet, getPosition, getRootContext, getValue, hasNext, isChildOrderingRequired, next, nextSet, remove, sortPointers, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ChildContext

public ChildContext(EvalContext parentContext,
                    NodeTest nodeTest,
                    boolean startFromParentLocation,
                    boolean reverse)
Create a new ChildContext.

Parameters:
parentContext - parent EvalContext
nodeTest - NodeTest
startFromParentLocation - whether to start from parent location
reverse - whether to iterate in reverse
Method Detail

getCurrentNodePointer

public NodePointer getCurrentNodePointer()
Description copied from class: EvalContext
Returns the current context node. Undefined before the beginning of the iteration.

Specified by:
getCurrentNodePointer in class EvalContext
Returns:
NodePoiner

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 class EvalContext
Returns:
Pointer

nextNode

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

Specified by:
nextNode in class EvalContext
Returns:
boolean

reset

public void reset()
Description copied from class: EvalContext
Sets current position = 0, which is the pre-iteration state.

Overrides:
reset in class EvalContext

setPosition

public boolean setPosition(int position)
Description copied from class: EvalContext
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 class EvalContext
Parameters:
position - to set
Returns:
boolean


Copyright © 2001-2008 The Apache Software Foundation. All Rights Reserved.