org.apache.xml.dtm.ref.sax2dtm

## Class SAX2DTM2.AncestorIterator

- java.lang.Object
- - org.apache.xml.dtm.ref.DTMAxisIteratorBase
  - - org.apache.xml.dtm.ref.DTMDefaultBaseIterators.InternalAxisIteratorBase
    - - org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2.AncestorIterator

- All Implemented Interfaces:
    java.lang.Cloneable, DTMAxisIterator
  Direct Known Subclasses:
    SAX2DTM2.TypedAncestorIterator
  Enclosing class:
    SAX2DTM2

      public class SAX2DTM2.AncestorIterator
      extends DTMDefaultBaseIterators.InternalAxisIteratorBase

  Iterator that returns the ancestors of a given node in document order. (NOTE! This was changed from the XSLTC code!)

- - ### Field Summary

    - ### Fields inherited from interface org.apache.xml.dtm.DTMAxisIterator

      `END`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AncestorIterator()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `DTMAxisIterator` | `cloneIterator()` Returns a deep copy of this iterator.
    `int` | `getStartNode()` Get start to END should 'close' the iterator, i.e. subsequent call to next() should return END.
    `void` | `gotoMark()` Restores the current node remembered by setMark().
    `boolean` | `isReverse()` True if this iterator has a reversed axis.
    `int` | `next()` Get the next node in the iteration.
    `DTMAxisIterator` | `reset()` Resets the iterator to the last start node.
    `void` | `setMark()` Remembers the current node for the next call to gotoMark().
    `DTMAxisIterator` | `setStartNode(int node)` Set start to END should 'close' the iterator, i.e. subsequent call to next() should return END.

    - ### Methods inherited from class org.apache.xml.dtm.ref.DTMAxisIteratorBase

      `getAxis, getLast, getNodeByPosition, getPosition, includeSelf, isDocOrdered, setRestartable`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AncestorIterator

          public AncestorIterator()

  - ### Method Detail

    - #### getStartNode

          public int getStartNode()

      Get start to END should 'close' the iterator, i.e. subsequent call to next() should return END.
      Specified by:
        `getStartNode` in interface `DTMAxisIterator`
      Overrides:
        `getStartNode` in class `DTMAxisIteratorBase`
      Returns:
        The root node of the iteration.

    - #### isReverse

          public final boolean isReverse()

      True if this iterator has a reversed axis.
      Specified by:
        `isReverse` in interface `DTMAxisIterator`
      Overrides:
        `isReverse` in class `DTMAxisIteratorBase`
      Returns:
        true since this iterator is a reversed axis.

    - #### cloneIterator

          public DTMAxisIterator cloneIterator()

      Returns a deep copy of this iterator. The cloned iterator is not reset.
      Specified by:
        `cloneIterator` in interface `DTMAxisIterator`
      Overrides:
        `cloneIterator` in class `DTMAxisIteratorBase`
      Returns:
        a deep copy of this iterator.

    - #### setStartNode

          public DTMAxisIterator 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.
      Returns:
        A DTMAxisIterator set to the start of the iteration.

    - #### reset

          public DTMAxisIterator reset()

      Resets the iterator to the last start node.
      Specified by:
        `reset` in interface `DTMAxisIterator`
      Overrides:
        `reset` in class `DTMAxisIteratorBase`
      Returns:
        A DTMAxisIterator, which may or may not be the same as this iterator.

    - #### next

          public int next()

      Get the next node in the iteration.
      Returns:
        The next node handle in the iteration, or END.

    - #### setMark

          public void setMark()

      Description copied from class: `DTMDefaultBaseIterators.InternalAxisIteratorBase`
      Remembers the current node for the next call to gotoMark(). %REVIEW% Should this save _position too?
      Specified by:
        `setMark` in interface `DTMAxisIterator`
      Overrides:
        `setMark` in class `DTMDefaultBaseIterators.InternalAxisIteratorBase`

    - #### gotoMark

          public void gotoMark()

      Description copied from class: `DTMDefaultBaseIterators.InternalAxisIteratorBase`
      Restores the current node remembered by setMark(). %REVEIW% Should this restore _position too?
      Specified by:
        `gotoMark` in interface `DTMAxisIterator`
      Overrides:
        `gotoMark` in class `DTMDefaultBaseIterators.InternalAxisIteratorBase`

Copyright © 2023 Apache XML Project. All Rights Reserved.