org.apache.xpath.axes
Class ChildTestIterator
java.lang.Object
org.apache.xpath.Expression
org.apache.xpath.patterns.NodeTest
org.apache.xpath.axes.PredicatedNodeTest
org.apache.xpath.axes.LocPathIterator
org.apache.xpath.axes.BasicTestIterator
org.apache.xpath.axes.ChildTestIterator
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, javax.xml.transform.SourceLocator, DTMIterator, PathComponent, SubContextList, ExpressionNode, XPathVisitable
- Direct Known Subclasses:
- AttributeIterator, KeyRefIterator, OneStepIterator, OneStepIteratorForward, UnionChildIterator
public class ChildTestIterator
- extends BasicTestIterator
This class implements an optimized iterator for
children patterns that have a node test, and possibly a predicate.
- See Also:
BasicTestIterator
,
Serialized Form
Method Summary |
DTMIterator |
cloneWithReset()
Get a cloned Iterator that is reset to the beginning
of the query. |
void |
detach()
Detaches the iterator from the set which it iterated over, releasing
any computational resources and placing the iterator in the INVALID
state. |
int |
getAxis()
Returns the axis being iterated, if it is known. |
protected int |
getNextNode()
Get the next node via getNextXXX. |
void |
setRoot(int context,
java.lang.Object environment)
Initialize the context values for this expression
after it is cloned. |
Methods inherited from class org.apache.xpath.axes.LocPathIterator |
allowDetachToRelease, asIterator, asNode, bool, callVisitors, execute, executeCharsToContentHandler, getAnalysisBits, getContext, getCurrentContextNode, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getFilter, getFoundLast, getIsTopLevel, getLastPos, getLength, getPrefixResolver, getRoot, getWhatToShow, getXPathContext, incrementCurrentPos, isDocOrdered, isFresh, isMutable, isNodesetExpr, item, previousNode, reset, returnNextNode, runTo, setCurrentContextNode, setCurrentPos, setEnvironment, setIsTopLevel, setItem, setNextPosition, setShouldCacheNodes, size |
Methods inherited from class org.apache.xpath.axes.PredicatedNodeTest |
acceptNode, callPredicateVisitors, canTraverseOutsideSubtree, clone, countProximityPosition, deepEquals, executePredicates, fixupVariables, getLocPathIterator, getPredicate, getPredicateCount, getPredicateIndex, getProximityPosition, getProximityPosition, getProximityPosition, initPredicateInfo, initProximityPosition, isReverseAxes, nodeToString, resetProximityPositions, setLocPathIterator, setPredicateCount |
Methods inherited from class org.apache.xpath.patterns.NodeTest |
calcScore, debugWhatToShow, execute, execute, getDefaultScore, getLocalName, getNamespace, getNodeTypeTest, getStaticScore, initNodeTest, initNodeTest, setLocalName, setNamespace, setStaticScore, setWhatToShow |
Methods inherited from class org.apache.xpath.Expression |
asIteratorRaw, assertion, error, execute, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isSameClass, isStableNumber, num, warn, xstr |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
serialVersionUID
static final long serialVersionUID
- See Also:
- Constant Field Values
m_traverser
protected transient DTMAxisTraverser m_traverser
- The traverser to use to navigate over the descendants.
ChildTestIterator
ChildTestIterator(Compiler compiler,
int opPos,
int analysis)
throws javax.xml.transform.TransformerException
- Create a ChildTestIterator object.
- Parameters:
compiler
- A reference to the Compiler that contains the op map.opPos
- The position within the op map, which contains the
location path expression for this itterator.
- Throws:
javax.xml.transform.TransformerException
ChildTestIterator
public ChildTestIterator(DTMAxisTraverser traverser)
- Create a ChildTestIterator object.
- Parameters:
traverser
- Traverser that tells how the KeyIterator is to be handled.
- Throws:
javax.xml.transform.TransformerException
getNextNode
protected int getNextNode()
- Get the next node via getNextXXX. Bottlenecked for derived class override.
- Specified by:
getNextNode
in class BasicTestIterator
- Returns:
- The next node on the axis, or DTM.NULL.
cloneWithReset
public DTMIterator cloneWithReset()
throws java.lang.CloneNotSupportedException
- Get a cloned Iterator that is reset to the beginning
of the query.
- Specified by:
cloneWithReset
in interface DTMIterator
- Overrides:
cloneWithReset
in class BasicTestIterator
- Returns:
- A cloned NodeIterator set of the start of the query.
- Throws:
java.lang.CloneNotSupportedException
setRoot
public void setRoot(int context,
java.lang.Object environment)
- Initialize the context values for this expression
after it is cloned.
- Specified by:
setRoot
in interface DTMIterator
- Overrides:
setRoot
in class LocPathIterator
- Parameters:
context
- The XPath runtime context for this
transformation.environment
- The environment object.
The environment in which this iterator operates, which should provide:
getAxis
public int getAxis()
- Returns the axis being iterated, if it is known.
- Specified by:
getAxis
in interface DTMIterator
- Overrides:
getAxis
in class LocPathIterator
- Returns:
- Axis.CHILD, etc., or -1 if the axis is not known or is of multiple
types.
detach
public void detach()
- Detaches the iterator from the set which it iterated over, releasing
any computational resources and placing the iterator in the INVALID
state. After
detach
has been invoked, calls to
nextNode
orpreviousNode
will raise the
exception INVALID_STATE_ERR.
- Specified by:
detach
in interface DTMIterator
- Overrides:
detach
in class LocPathIterator