Class DescendantIterator

java.lang.Object
com.puppycrawl.tools.checkstyle.xpath.iterators.DescendantIterator
All Implemented Interfaces:
Closeable, AutoCloseable, net.sf.saxon.om.SequenceIterator, net.sf.saxon.tree.iter.AxisIterator

public class DescendantIterator extends Object implements net.sf.saxon.tree.iter.AxisIterator
Recursive-free implementation of the descendant axis iterator.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static enum 
    Enum defines starting node for iterator.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private net.sf.saxon.tree.iter.AxisIterator
    Descendant axis iterator.
    private final Queue<net.sf.saxon.om.NodeInfo>
    Queue for sibling nodes.
  • Constructor Summary

    Constructors
    Constructor
    Description
    DescendantIterator(net.sf.saxon.om.NodeInfo start, DescendantIterator.StartWith startWith)
    Create an iterator over the "descendant" axis.
  • Method Summary

    Modifier and Type
    Method
    Description
    net.sf.saxon.om.NodeInfo
    Get the next item in the sequence.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface net.sf.saxon.om.SequenceIterator

    close
  • Field Details

    • queue

      private final Queue<net.sf.saxon.om.NodeInfo> queue
      Queue for sibling nodes.
    • descendantEnum

      private net.sf.saxon.tree.iter.AxisIterator descendantEnum
      Descendant axis iterator.
  • Constructor Details

  • Method Details

    • next

      public net.sf.saxon.om.NodeInfo next()
      Get the next item in the sequence.
      Specified by:
      next in interface net.sf.saxon.tree.iter.AxisIterator
      Specified by:
      next in interface net.sf.saxon.om.SequenceIterator
      Returns:
      the next Item. If there are no more nodes, return null.