org.apache.commons.jxpath.ri
Class EvalContext

java.lang.Object
  |
  +--org.apache.commons.jxpath.ri.EvalContext
All Implemented Interfaces:
ExpressionContext, java.util.Iterator
Direct Known Subclasses:
AncestorContext, AttributeContext, ChildContext, DescendantContext, InitialContext, NamespaceContext, ParentContext, PrecedingOrFollowingContext, PredicateContext, RootContext, SelfContext, UnionContext

public abstract class EvalContext
extends java.lang.Object
implements ExpressionContext, java.util.Iterator

An XPath evaluation context. When evaluating a path, a chain of EvalContexts is created, each context in the chain representing a step of the path. Subclasses of EvalContext implement behavior of various XPath axes: "child::", "parent::" etc.

Version:
$Revision: 1.23 $ $Date: 2003/03/11 00:59:18 $
Author:
Dmitri Plotnikov

Field Summary
protected  EvalContext parentContext
           
protected  int position
           
protected  RootContext rootContext
           
 
Constructor Summary
EvalContext(EvalContext parentContext)
           
 
Method Summary
 java.util.List getContextNodeList()
          Returns the list of all Pointers in this context for the current position of the parent context.
 Pointer getContextNodePointer()
          Get the current context node.
abstract  NodePointer getCurrentNodePointer()
          Returns the current context node.
 int getCurrentPosition()
           
 int getDocumentOrder()
          Determines the document order for this context.
 JXPathContext getJXPathContext()
          Get the JXPathContext in which this function is being evaluated.
 NodeSet getNodeSet()
          Returns the list of all Pointers in this context for all positions of the parent contexts.
 int getPosition()
          Returns the current context position.
 RootContext getRootContext()
          Returns the root context of the path, which provides easy access to variables and functions.
 Pointer getSingleNodePointer()
          Returns the first encountered Pointer that matches the current context's criteria.
 boolean hasNext()
          Returns true if there are mode nodes matching the context's constraints.
 java.lang.Object next()
          Returns the next node pointer in the context
abstract  boolean nextNode()
          Returns true if there is another object in the current set.
 boolean nextSet()
          Returns true if there is another sets of objects to interate over.
 void remove()
          Operation is not supported
 void reset()
          Sets current position = 0, which is the pre-iteration state.
 boolean setPosition(int position)
          Moves the current position to the specified index.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

parentContext

protected EvalContext parentContext

rootContext

protected RootContext rootContext

position

protected int position
Constructor Detail

EvalContext

public EvalContext(EvalContext parentContext)
Method Detail

getContextNodePointer

public Pointer getContextNodePointer()
Description copied from interface: ExpressionContext
Get the current context node.
Specified by:
getContextNodePointer in interface ExpressionContext
Following copied from interface: org.apache.commons.jxpath.ExpressionContext
Returns:
The current context node pointer.

getJXPathContext

public JXPathContext getJXPathContext()
Description copied from interface: ExpressionContext
Get the JXPathContext in which this function is being evaluated.
Specified by:
getJXPathContext in interface ExpressionContext
Following copied from interface: org.apache.commons.jxpath.ExpressionContext
Returns:
A list representing the current context nodes.

getPosition

public int getPosition()
Description copied from interface: ExpressionContext
Returns the current context position.
Specified by:
getPosition in interface ExpressionContext

getDocumentOrder

public int getDocumentOrder()
Determines the document order for this context.
Returns:
1 ascending order, -1 descending order, 0 - does not require ordering

hasNext

public boolean hasNext()
Returns true if there are mode nodes matching the context's constraints.
Specified by:
hasNext in interface java.util.Iterator

next

public java.lang.Object next()
Returns the next node pointer in the context
Specified by:
next in interface java.util.Iterator

remove

public void remove()
Operation is not supported
Specified by:
remove in interface java.util.Iterator

getContextNodeList

public java.util.List getContextNodeList()
Returns the list of all Pointers in this context for the current position of the parent context.
Specified by:
getContextNodeList in interface ExpressionContext
Following copied from interface: org.apache.commons.jxpath.ExpressionContext
Returns:
A list representing the current context nodes.

getNodeSet

public NodeSet getNodeSet()
Returns the list of all Pointers in this context for all positions of the parent contexts. If there was an ongoing iteration over this context, the method should not be called.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getRootContext

public RootContext getRootContext()
Returns the root context of the path, which provides easy access to variables and functions.

reset

public void reset()
Sets current position = 0, which is the pre-iteration state.

getCurrentPosition

public int getCurrentPosition()

getSingleNodePointer

public Pointer getSingleNodePointer()
Returns the first encountered Pointer that matches the current context's criteria.

getCurrentNodePointer

public abstract NodePointer getCurrentNodePointer()
Returns the current context node. Undefined before the beginning of the iteration.

nextSet

public boolean nextSet()
Returns true if there is another sets of objects to interate over. Resets the current position and node.

nextNode

public abstract boolean nextNode()
Returns true if there is another object in the current set. Switches the current position and node to the next object.

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.


Copyright © 2001-2003 Apache Software Foundation. All Rights Reserved.