Package net.sf.saxon.tree.iter
Class ReportingSingletonIterator
- java.lang.Object
-
- net.sf.saxon.tree.iter.SingletonIterator
-
- net.sf.saxon.tree.iter.ReportingSingletonIterator
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,LastPositionFinder
,FocusIterator
,SequenceIterator
,GroundedIterator
,LookaheadIterator
,ReversibleIterator
public class ReportingSingletonIterator extends SingletonIterator
This is a subclass ofSingletonIterator
that reports to aLearningEvaluator
when the single target item is actually read. TheLearningEvaluator
uses this information to decide whether to perform lazy or eager evaluation.
-
-
Constructor Summary
Constructors Constructor Description ReportingSingletonIterator(Item item, LearningEvaluator learningEvaluator, int serialNumber)
Create aReportingSingletonIterator
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Item
next()
Get the next item in the sequence.-
Methods inherited from class net.sf.saxon.tree.iter.SingletonIterator
close, current, getLength, getResidue, getReverseIterator, getValue, hasNext, isActuallyGrounded, makeIterator, materialize, position, supportsGetLength, supportsHasNext
-
-
-
-
Constructor Detail
-
ReportingSingletonIterator
public ReportingSingletonIterator(Item item, LearningEvaluator learningEvaluator, int serialNumber)
Create aReportingSingletonIterator
- Parameters:
item
- the single item to be delivered by the iteratorlearningEvaluator
- the class to be notified when the item is readserialNumber
- a serial number identifying this evaluation
-
-
Method Detail
-
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 interfaceSequenceIterator
- Overrides:
next
in classSingletonIterator
- 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.
-
-