Class DescendantContext
java.lang.Object
org.apache.commons.jxpath.ri.EvalContext
org.apache.commons.jxpath.ri.axes.DescendantContext
- All Implemented Interfaces:
Iterator
,ExpressionContext
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) $
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate NodePointer
private static final NodeTest
private boolean
private NodeTest
private boolean
private Stack
Fields inherited from class org.apache.commons.jxpath.ri.EvalContext
parentContext, position, rootContext
-
Constructor Summary
ConstructorsConstructorDescriptionDescendantContext
(EvalContext parentContext, boolean includeSelf, NodeTest nodeTest) Create a new DescendantContext. -
Method Summary
Modifier and TypeMethodDescriptionReturns the current context node.boolean
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.private boolean
Checks if we are reentering a bean we have already seen and if so returns true to prevent infinite recursion.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
Methods inherited from interface java.util.Iterator
forEachRemaining
-
Field Details
-
nodeTest
-
setStarted
private boolean setStarted -
stack
-
currentNodePointer
-
includeSelf
private boolean includeSelf -
ELEMENT_NODE_TEST
-
-
Constructor Details
-
DescendantContext
Create a new DescendantContext.- Parameters:
parentContext
- parent contextincludeSelf
- whether to include this nodenodeTest
- test
-
-
Method Details
-
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 classEvalContext
- Returns:
- boolean
-
getCurrentNodePointer
Description copied from class:EvalContext
Returns the current context node. Undefined before the beginning of the iteration.- Specified by:
getCurrentNodePointer
in classEvalContext
- Returns:
- NodePoiner
-
reset
public void reset()Description copied from class:EvalContext
Sets current position = 0, which is the pre-iteration state.- Overrides:
reset
in classEvalContext
-
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 classEvalContext
- 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 classEvalContext
- Returns:
- boolean
-
isRecursive
private boolean isRecursive()Checks if we are reentering a bean we have already seen and if so returns true to prevent infinite recursion.- Returns:
- boolean
-