org.apache.xalan.xsltc.dom

## Class KeyIndex.KeyIndexIterator

- java.lang.Object
- - org.apache.xml.dtm.ref.DTMAxisIteratorBase
  - - org.apache.xalan.xsltc.dom.MultiValuedNodeHeapIterator
    - - org.apache.xalan.xsltc.dom.KeyIndex.KeyIndexIterator

- All Implemented Interfaces:
    java.lang.Cloneable, DTMAxisIterator
  Enclosing class:
    KeyIndex

      public class KeyIndex.KeyIndexIterator
      extends MultiValuedNodeHeapIterator

  An iterator representing the result of a reference to either the XSLT `key` function or the XPath `id` function.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.xalan.xsltc.dom.MultiValuedNodeHeapIterator

      `MultiValuedNodeHeapIterator.HeapNode`

  - ### Field Summary

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

      `END`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getLast()` Returns the number of nodes in this iterator.
    `int` | `getNodeByPosition(int position)` Return the node at the given position.
    `int` | `next()` Get the next node in the iteration.
    `DTMAxisIterator` | `reset()` Resets the iterator to the last start node.
    `DTMAxisIterator` | `setStartNode(int node)` Set context node for the iterator.

    - ### Methods inherited from class org.apache.xalan.xsltc.dom.MultiValuedNodeHeapIterator

      `cloneIterator, gotoMark, setMark`

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

      `getAxis, getPosition, getStartNode, includeSelf, isDocOrdered, isReverse, setRestartable`

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

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

- - ### Method Detail

    - #### setStartNode

          public DTMAxisIterator setStartNode(int node)

      Set context node for the iterator. This will cause the iterator to reset itself, reevaluate arguments to the function, look up nodes in the input and reinitialize its internal heap.
      Specified by:
        `setStartNode` in interface `DTMAxisIterator`
      Overrides:
        `setStartNode` in class `MultiValuedNodeHeapIterator`
      Parameters:
        `node` - the context node
      Returns:
        A `DTMAxisIterator` set to the start of the iteration.

    - #### next

          public int next()

      Get the next node in the iteration.
      Specified by:
        `next` in interface `DTMAxisIterator`
      Overrides:
        `next` in class `MultiValuedNodeHeapIterator`
      Returns:
        The next node handle in the iteration, or END.

    - #### reset

          public DTMAxisIterator reset()

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

    - #### getLast

          public int getLast()

      Returns the number of nodes in this iterator.
      Specified by:
        `getLast` in interface `DTMAxisIterator`
      Overrides:
        `getLast` in class `DTMAxisIteratorBase`
      Returns:
        the number of nodes

    - #### getNodeByPosition

          public int getNodeByPosition(int position)

      Return the node at the given position.
      Specified by:
        `getNodeByPosition` in interface `DTMAxisIterator`
      Overrides:
        `getNodeByPosition` in class `DTMAxisIteratorBase`
      Parameters:
        `position` - The position
      Returns:
        The node at the given position.

Copyright © 2023 Apache XML Project. All Rights Reserved.