org.apache.xalan.xsltc.dom

## Class DupFilterIterator

- java.lang.Object
- - org.apache.xml.dtm.ref.DTMAxisIteratorBase
  - - org.apache.xalan.xsltc.dom.DupFilterIterator

- All Implemented Interfaces:
    java.lang.Cloneable, DTMAxisIterator

      public final class DupFilterIterator
      extends DTMAxisIteratorBase

  Removes duplicates and sorts a source iterator. The nodes from the source are collected in an array upon calling setStartNode(). This array is later sorted and duplicates are ignored in next().
  Author:
    G. Todd Miller

- - ### Field Summary

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

      `END`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `DupFilterIterator(DTMAxisIterator source)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `DTMAxisIterator` | `cloneIterator()` Returns a deep copy of this iterator.
    `void` | `gotoMark()` Restores the current node remembered by setMark().
    `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().
    `void` | `setRestartable(boolean isRestartable)` Set if restartable.
    `DTMAxisIterator` | `setStartNode(int node)` Set the start node for this iterator

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

      `getAxis, getLast, getNodeByPosition, getPosition, getStartNode, includeSelf, isDocOrdered, isReverse`

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

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

- - ### Constructor Detail

    - #### DupFilterIterator

          public DupFilterIterator(DTMAxisIterator source)

  - ### Method Detail

    - #### setStartNode

          public DTMAxisIterator setStartNode(int node)

      Set the start node for this iterator
      Parameters:
        `node` - The start node
      Returns:
        A reference to this node iterator

    - #### next

          public int next()

      Description copied from interface: `DTMAxisIterator`
      Get the next node in the iteration.
      Returns:
        The next node handle in the iteration, or END.

    - #### cloneIterator

          public DTMAxisIterator cloneIterator()

      Description copied from class: `DTMAxisIteratorBase`
      Returns a deep copy of this iterator. Cloned iterators may not be restartable. The iterator being cloned may or may not become non-restartable as a side effect of this operation.
      Specified by:
        `cloneIterator` in interface `DTMAxisIterator`
      Overrides:
        `cloneIterator` in class `DTMAxisIteratorBase`
      Returns:
        a deep copy of this iterator.

    - #### setRestartable

          public void setRestartable(boolean isRestartable)

      Description copied from interface: `DTMAxisIterator`
      Set if restartable.
      Specified by:
        `setRestartable` in interface `DTMAxisIterator`
      Overrides:
        `setRestartable` in class `DTMAxisIteratorBase`

    - #### setMark

          public void setMark()

      Description copied from interface: `DTMAxisIterator`
      Remembers the current node for the next call to gotoMark().

    - #### gotoMark

          public void gotoMark()

      Description copied from interface: `DTMAxisIterator`
      Restores the current node remembered by setMark().

    - #### reset

          public DTMAxisIterator reset()

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

Copyright © 2023 Apache XML Project. All Rights Reserved.