Class NodeIteratorBase

java.lang.Object
org.apache.xalan.xsltc.dom.NodeIteratorBase
All Implemented Interfaces:
Cloneable, NodeIterator

public abstract class NodeIteratorBase extends Object implements NodeIterator
Author:
Jacek Ambroziak, Santiago Pericas-Geertsen, Morten Jorgensen
  • Constructor Details

    • NodeIteratorBase

      public NodeIteratorBase()
  • Method Details

    • setRestartable

      public void setRestartable(boolean isRestartable)
      Setter for _isRestartable flag.
      Specified by:
      setRestartable in interface NodeIterator
    • setStartNode

      public abstract NodeIterator setStartNode(int node)
      Initialize iterator using a node. If iterator is not restartable, then do nothing. If node is equal to END then subsequent calls to next() must return END.
      Specified by:
      setStartNode in interface NodeIterator
    • reset

      public NodeIterator reset()
      Reset this iterator using state from last call to setStartNode().
      Specified by:
      reset in interface NodeIterator
    • includeSelf

      public NodeIterator includeSelf()
      Setter for _includeSelf flag.
    • getLast

      public int getLast()
      Default implementation of getLast(). Stores current position and current node, resets the iterator, counts all nodes and restores iterator to original state.
      Specified by:
      getLast in interface NodeIterator
    • getPosition

      public int getPosition()
      Returns the position() in this iterator.
      Specified by:
      getPosition in interface NodeIterator
    • isReverse

      public boolean isReverse()
      Indicates if position in this iterator is computed in reverse document order. Note that nodes are always returned in document order.
      Specified by:
      isReverse in interface NodeIterator
    • cloneIterator

      public NodeIterator cloneIterator()
      Clones and resets this iterator. Note that the cloned iterator is not restartable. This is because cloning is needed for variable references, and the context node of the original variable declaration must be preserved.
      Specified by:
      cloneIterator in interface NodeIterator