Class BasicTestIterator

All Implemented Interfaces:
Cloneable, SourceLocator, DTMIterator, PathComponent, SubContextList, ExpressionNode, XPathVisitable
Direct Known Subclasses:
ChildTestIterator

public abstract class BasicTestIterator extends LocPathIterator
Base for iterators that handle predicates. Does the basic next node logic, so all the derived iterator has to do is get the next node.
  • Constructor Details

    • BasicTestIterator

      protected BasicTestIterator(PrefixResolver nscontext)
      Create a LocPathIterator object.
      Parameters:
      nscontext - The namespace context for this iterator, should be OK if null.
    • BasicTestIterator

      protected BasicTestIterator(Compiler compiler, int opPos, int analysis) throws TransformerException
      Create a LocPathIterator object, including creation of step walkers from the opcode list, and call back into the Compiler to create predicate expressions.
      Parameters:
      compiler - The Compiler which is creating this expression.
      opPos - The position of this iterator in the opcode list from the compiler.
      Throws:
      TransformerException - if any
  • Method Details

    • getNextNode

      protected abstract int getNextNode()
      Get the next node via getNextXXX. Bottlenecked for derived class override.
      Returns:
      The next node on the axis, or DTM.NULL.
    • nextNode

      public int nextNode()
      Returns the next node in the set and advances the position of the iterator in the set. After a DTMIterator has setRoot called, the first call to nextNode() returns that root or (if it is rejected by the filters) the first node within its subtree which is not filtered out.
      Specified by:
      nextNode in interface DTMIterator
      Specified by:
      nextNode in class LocPathIterator
      Returns:
      The next node handle in the set being iterated over, or DTM.NULL if there are no more members in that set.
    • cloneWithReset

      public DTMIterator cloneWithReset() throws CloneNotSupportedException
      Get a cloned Iterator that is reset to the start of the iteration.
      Specified by:
      cloneWithReset in interface DTMIterator
      Overrides:
      cloneWithReset in class LocPathIterator
      Returns:
      A clone of this iteration that has been reset.
      Throws:
      CloneNotSupportedException - if any