|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
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.DescendantIterator
This class implements an optimized iterator for descendant, descendant-or-self, or "//foo" patterns.
org.apache.xpath.axes.WalkerFactory#newLocPathIterator
,
Serialized FormNested Class Summary |
Nested classes inherited from class org.apache.xpath.axes.PredicatedNodeTest |
PredicatedNodeTest.PredOwner |
Field Summary | |
protected int |
m_axis
The axis that we are traversing. |
protected int |
m_extendedTypeID
The extended type ID, not set until setRoot. |
protected DTMAxisTraverser |
m_traverser
The traverser to use to navigate over the descendants. |
Fields inherited from class org.apache.xpath.axes.LocPathIterator |
m_allowDetach, m_cdtm, m_clones, m_context, m_currentContextNode, m_execContext, m_lastFetched, m_length, m_pos, m_stackFrame |
Fields inherited from class org.apache.xpath.axes.PredicatedNodeTest |
DEBUG_PREDICATECOUNTING, m_foundLast, m_lpi, m_predCount, m_predicateIndex, m_proximityPositions |
Fields inherited from class org.apache.xpath.patterns.NodeTest |
m_name, m_whatToShow, SCORE_NODETEST, SCORE_NONE, SCORE_NSWILD, SCORE_OTHER, SCORE_QNAME, SHOW_BYFUNCTION, SUPPORTS_PRE_STRIPPING, WILD |
Fields inherited from class org.apache.xpath.Expression |
|
Fields inherited from interface org.apache.xml.dtm.DTMIterator |
FILTER_ACCEPT, FILTER_REJECT, FILTER_SKIP |
Constructor Summary | |
|
DescendantIterator()
Create a DescendantIterator object. |
(package private) |
DescendantIterator(Compiler compiler,
int opPos,
int analysis)
Create a DescendantIterator object. |
Method Summary | |
int |
asNode(XPathContext xctxt)
Return the first node out of the nodeset, if this expression is a nodeset expression. |
DTMIterator |
cloneWithReset()
Get a cloned Iterator that is reset to the beginning of the query. |
boolean |
deepEquals(Expression expr)
Compare this object with another object and see if they are equal, include the sub heararchy. |
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. |
int |
nextNode()
Returns the next node in the set and advances the position of the iterator in the set. |
void |
setRoot(int context,
Object environment)
Initialize the context values for this expression after it is cloned. |
Methods inherited from class org.apache.xpath.axes.LocPathIterator |
allowDetachToRelease, asIterator, 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.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 |
Methods inherited from interface org.apache.xml.dtm.DTMIterator |
clone |
Field Detail |
protected transient DTMAxisTraverser m_traverser
protected int m_axis
protected int m_extendedTypeID
Constructor Detail |
DescendantIterator(Compiler compiler, int opPos, int analysis) throws javax.xml.transform.TransformerException
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.
javax.xml.transform.TransformerException
public DescendantIterator()
javax.xml.transform.TransformerException
Method Detail |
public DTMIterator cloneWithReset() throws CloneNotSupportedException
cloneWithReset
in interface DTMIterator
cloneWithReset
in class LocPathIterator
CloneNotSupportedException
public int nextNode()
nextNode
in interface DTMIterator
nextNode
in class LocPathIterator
Node
in the set being iterated over, or
null
if there are no more members in that set.
DOMException
- INVALID_STATE_ERR: Raised if this method is called after the
detach
method was invoked.public void setRoot(int context, Object environment)
setRoot
in interface DTMIterator
setRoot
in class LocPathIterator
public int asNode(XPathContext xctxt) throws javax.xml.transform.TransformerException
WARNING: Do not mutate this class from this function!
asNode
in class LocPathIterator
xctxt
- The XPath runtime context.
javax.xml.transform.TransformerException
public void detach()
detach
has been invoked, calls to
nextNode
orpreviousNode
will raise the
exception INVALID_STATE_ERR.
detach
in interface DTMIterator
detach
in class LocPathIterator
public int getAxis()
getAxis
in interface DTMIterator
getAxis
in class LocPathIterator
public boolean deepEquals(Expression expr)
Expression
deepEquals
in class PredicatedNodeTest
Expression.deepEquals(Expression)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |