Class DescendantIterator

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, net.sf.saxon.om.SequenceIterator, net.sf.saxon.tree.iter.AxisIterator

    public class DescendantIterator
    extends java.lang.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 class  DescendantIterator.StartWith
      Enum defines starting node for iterator.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private net.sf.saxon.tree.iter.AxisIterator descendantEnum
      Descendant axis iterator.
      private java.util.Queue<net.sf.saxon.om.NodeInfo> queue
      Queue for sibling nodes.
    • 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.
      • 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, discharge
    • Field Detail

      • queue

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

        private net.sf.saxon.tree.iter.AxisIterator descendantEnum
        Descendant axis iterator.
    • Method Detail

      • 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.