Class ReverseDescendantIterator
- java.lang.Object
-
- com.puppycrawl.tools.checkstyle.xpath.iterators.ReverseDescendantIterator
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,net.sf.saxon.om.SequenceIterator
,net.sf.saxon.tree.iter.AxisIterator
public class ReverseDescendantIterator extends Object implements net.sf.saxon.tree.iter.AxisIterator
Recursive-free implementation of the descendant axis iterator. Difference between this iterator andDescendantIterator
in traversal order of the child nodes. In some cases it is useful to iterate from last child backwards to the first one, for example inPrecedingIterator
.
-
-
Constructor Summary
Constructors Constructor Description ReverseDescendantIterator(net.sf.saxon.om.NodeInfo start)
Create an iterator over the "descendant" axis in reverse order.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description net.sf.saxon.om.NodeInfo
next()
Get the next item in the sequence.private void
pushToStack(net.sf.saxon.tree.iter.AxisIterator iterateAxis)
Pushes all children to the stack.
-
-
-
Constructor Detail
-
ReverseDescendantIterator
public ReverseDescendantIterator(net.sf.saxon.om.NodeInfo start)
Create an iterator over the "descendant" axis in reverse order.- Parameters:
start
- the initial context node.
-
-
Method Detail
-
pushToStack
private void pushToStack(net.sf.saxon.tree.iter.AxisIterator iterateAxis)
Pushes all children to the stack.- Parameters:
iterateAxis
-AxisInfo.CHILD
axis iterator.
-
next
public net.sf.saxon.om.NodeInfo next()
Get the next item in the sequence.- Specified by:
next
in interfacenet.sf.saxon.tree.iter.AxisIterator
- Specified by:
next
in interfacenet.sf.saxon.om.SequenceIterator
- Returns:
- the next Item. If there are no more nodes, return null.
-
-