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

java.lang.Object
  extended byorg.apache.commons.jxpath.ri.EvalContext
      extended byorg.apache.commons.jxpath.ri.axes.AncestorContext
All Implemented Interfaces:
ExpressionContext, java.util.Iterator

public class AncestorContext
extends EvalContext

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

Version:
$Revision: 1.15 $ $Date: 2004/03/25 03:49:50 $
Author:
Dmitri Plotnikov

Field Summary
private  NodePointer currentNodePointer
           
private  boolean includeSelf
           
private  NodeTest nodeTest
           
private  boolean setStarted
           
 
Fields inherited from class org.apache.commons.jxpath.ri.EvalContext
parentContext, position, rootContext
 
Constructor Summary
AncestorContext(EvalContext parentContext, boolean includeSelf, NodeTest nodeTest)
           
 
Method Summary
 NodePointer getCurrentNodePointer()
          Returns the current context node.
 int getDocumentOrder()
          Determines the document order for this 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, getJXPathContext, getNodeSet, getPosition, getRootContext, getSingleNodePointer, getValue, hasNext, isChildOrderingRequired, next, nextSet, remove, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

nodeTest

private NodeTest nodeTest

setStarted

private boolean setStarted

currentNodePointer

private NodePointer currentNodePointer

includeSelf

private boolean includeSelf
Constructor Detail

AncestorContext

public AncestorContext(EvalContext parentContext,
                       boolean includeSelf,
                       NodeTest nodeTest)
Parameters:
parentContext - represents the previous step on the path
includeSelf - differentiates between "ancestor::" and "ancestor- or-self::" axes
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

getDocumentOrder

public int getDocumentOrder()
Description copied from class: EvalContext
Determines the document order for this context.

Overrides:
getDocumentOrder in class EvalContext
Returns:
1 ascending order, -1 descending order, 0 - does not require ordering

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

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