Package org.htmlunit.xpath.xml.dtm.ref
Class DTMDefaultBaseIterators.DescendantIterator
- java.lang.Object
-
- org.htmlunit.xpath.xml.dtm.ref.DTMAxisIteratorBase
-
- org.htmlunit.xpath.xml.dtm.ref.DTMDefaultBaseIterators.InternalAxisIteratorBase
-
- org.htmlunit.xpath.xml.dtm.ref.DTMDefaultBaseIterators.DescendantIterator
-
- All Implemented Interfaces:
java.lang.Cloneable
,DTMAxisIterator
- Enclosing class:
- DTMDefaultBaseIterators
public class DTMDefaultBaseIterators.DescendantIterator extends DTMDefaultBaseIterators.InternalAxisIteratorBase
Iterator that returns the descendants of a given node.
-
-
Field Summary
-
Fields inherited from class org.htmlunit.xpath.xml.dtm.ref.DTMDefaultBaseIterators.InternalAxisIteratorBase
_currentNode
-
Fields inherited from class org.htmlunit.xpath.xml.dtm.ref.DTMAxisIteratorBase
_includeSelf, _isRestartable, _position, _startNode
-
Fields inherited from interface org.htmlunit.xpath.xml.dtm.DTMAxisIterator
END
-
-
Constructor Summary
Constructors Constructor Description DescendantIterator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
isDescendant(int identity)
Tell if this node identity is a descendant.int
next()
Get the next node in the iteration.void
reset()
Resets the iterator to the last start node.void
setStartNode(int node)
Set start to END should 'close' the iterator, i.e.-
Methods inherited from class org.htmlunit.xpath.xml.dtm.ref.DTMAxisIteratorBase
cloneIterator, includeSelf, isReverse, resetPosition, returnNode
-
-
-
-
Method Detail
-
setStartNode
public void setStartNode(int node)
Set start to END should 'close' the iterator, i.e. subsequent call to next() should return END.- Parameters:
node
- Sets the root of the iteration.
-
isDescendant
protected boolean isDescendant(int identity)
Tell if this node identity is a descendant. Assumes that the node info for the element has already been obtained.This one-sided test works only if the parent has been previously tested and is known to be a descendent. It fails if the parent is the _startNode's next sibling, or indeed any node that follows _startNode in document order. That may suffice for this iterator, but it's not really an isDescendent() test. %REVIEW% rename?
- Parameters:
identity
- The index number of the node in question.- Returns:
- true if the index is a descendant of _startNode.
-
next
public int next()
Get the next node in the iteration.- Returns:
- The next node handle in the iteration, or END.
-
reset
public void reset()
Resets the iterator to the last start node.- Specified by:
reset
in interfaceDTMAxisIterator
- Overrides:
reset
in classDTMAxisIteratorBase
-
-