public abstract class EvalContext extends java.lang.Object implements ExpressionContext, java.util.Iterator
Modifier and Type | Field and Description |
---|---|
protected EvalContext |
parentContext
parent context
|
protected int |
position
position
|
protected RootContext |
rootContext
root context
|
Constructor and Description |
---|
EvalContext(EvalContext parentContext)
Create a new EvalContext.
|
Modifier and Type | Method and Description |
---|---|
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()
Get the current position.
|
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.
|
java.lang.Object |
getValue()
Typically returns the NodeSet by calling getNodeSet(),
but will be overridden for contexts that more naturally produce
individual values, e.g.
|
boolean |
hasNext()
Returns true if there are mode nodes matching the context's constraints.
|
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.
|
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.
|
protected void |
sortPointers(java.util.List l)
Sort a list of pointers based on document order.
|
java.lang.String |
toString() |
protected EvalContext parentContext
protected RootContext rootContext
protected int position
public EvalContext(EvalContext parentContext)
parentContext
- parent contextpublic Pointer getContextNodePointer()
ExpressionContext
getContextNodePointer
in interface ExpressionContext
public JXPathContext getJXPathContext()
ExpressionContext
getJXPathContext
in interface ExpressionContext
public int getPosition()
ExpressionContext
getPosition
in interface ExpressionContext
public int getDocumentOrder()
public boolean isChildOrderingRequired()
public boolean hasNext()
hasNext
in interface java.util.Iterator
public java.lang.Object next()
next
in interface java.util.Iterator
public void remove()
remove
in interface java.util.Iterator
java.lang.UnsupportedOperationException
protected void sortPointers(java.util.List l)
l
- the list to sort.public java.util.List getContextNodeList()
getContextNodeList
in interface ExpressionContext
public NodeSet getNodeSet()
public java.lang.Object getValue()
public java.lang.String toString()
toString
in class java.lang.Object
public RootContext getRootContext()
public void reset()
public int getCurrentPosition()
public Pointer getSingleNodePointer()
public abstract NodePointer getCurrentNodePointer()
public boolean nextSet()
public abstract boolean nextNode()
public boolean setPosition(int position)
position
- to set