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

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

public class DescendantContext
extends EvalContext

An EvalContext that walks the "descendant::" and "descendant-or-self::" axes.

Version:
$Revision: 670727 $ $Date: 2008-06-23 15:10:38 -0500 (Mon, 23 Jun 2008) $
Author:
Dmitri Plotnikov

Field Summary
 
Fields inherited from class org.apache.commons.jxpath.ri.EvalContext
parentContext, position, rootContext
 
Constructor Summary
DescendantContext(EvalContext parentContext, boolean includeSelf, NodeTest nodeTest)
          Create a new DescendantContext.
 
Method Summary
 NodePointer getCurrentNodePointer()
          Returns the current context node.
 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.
 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, getSingleNodePointer, getValue, hasNext, next, nextSet, remove, sortPointers, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DescendantContext

public DescendantContext(EvalContext parentContext,
                         boolean includeSelf,
                         NodeTest nodeTest)
Create a new DescendantContext.

Parameters:
parentContext - parent context
includeSelf - whether to include this node
nodeTest - test
Method Detail

isChildOrderingRequired

public boolean isChildOrderingRequired()
Description copied from class: EvalContext
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.

Overrides:
isChildOrderingRequired in class EvalContext
Returns:
boolean

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

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

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


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