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

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

public class PrecedingOrFollowingContext
extends EvalContext

EvalContext that walks the "preceding::" and "following::" axes.

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

Field Summary
private  NodePointer currentNodePointer
           
private  NodePointer currentRootLocation
           
private  java.util.Stack nameStack
           
private  NodeTest nodeTest
           
private  boolean reverse
           
private  boolean setStarted
           
private  java.util.Stack stack
           
private  boolean started
           
 
Fields inherited from class org.apache.commons.jxpath.ri.EvalContext
parentContext, position, rootContext
 
Constructor Summary
PrecedingOrFollowingContext(EvalContext parentContext, NodeTest nodeTest, boolean reverse)
           
 
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

started

private boolean started

stack

private java.util.Stack stack

nameStack

private java.util.Stack nameStack

currentNodePointer

private NodePointer currentNodePointer

currentRootLocation

private NodePointer currentRootLocation

reverse

private boolean reverse
Constructor Detail

PrecedingOrFollowingContext

public PrecedingOrFollowingContext(EvalContext parentContext,
                                   NodeTest nodeTest,
                                   boolean 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

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