Class ReportingSingletonIterator

java.lang.Object
net.sf.saxon.tree.iter.SingletonIterator
net.sf.saxon.tree.iter.ReportingSingletonIterator
All Implemented Interfaces:
Closeable, AutoCloseable, LastPositionFinder, FocusIterator, SequenceIterator, GroundedIterator, LookaheadIterator, ReversibleIterator

public class ReportingSingletonIterator extends SingletonIterator
This is a subclass of SingletonIterator that reports to a LearningEvaluator when the single target item is actually read. The LearningEvaluator uses this information to decide whether to perform lazy or eager evaluation.
  • Constructor Details

    • ReportingSingletonIterator

      public ReportingSingletonIterator(Item item, LearningEvaluator learningEvaluator, int serialNumber)
      Create a ReportingSingletonIterator
      Parameters:
      item - the single item to be delivered by the iterator
      learningEvaluator - the class to be notified when the item is read
      serialNumber - a serial number identifying this evaluation
  • Method Details

    • next

      public Item next()
      Description copied from interface: SequenceIterator
      Get the next item in the sequence. This method changes the state of the iterator.
      Specified by:
      next in interface SequenceIterator
      Overrides:
      next in class SingletonIterator
      Returns:
      the next item, or null if there are no more items. Once a call on next() has returned null, no further calls should be made. The preferred action for an iterator if subsequent calls on next() are made is to return null again, and all implementations within Saxon follow this rule.