Class DupFilterIterator

java.lang.Object
org.apache.xml.dtm.ref.DTMAxisIteratorBase
org.apache.xalan.xsltc.dom.DupFilterIterator
All Implemented Interfaces:
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
  • Constructor Details

  • Method Details

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