This package defines implementations and subinterfaces of the interface SequenceIterator, which is used to iterate over an XDM sequence.
The subinterfaces mostly represent iterators with additional capability: for example a LastPositionFinder can determine the number of items in the sequence without reading to the end; a GroundedIterator can deliver the original sequence as a list in memory; a LookaheadIterator is capable of one-item look-ahead. Note that just because a class implements such an interface does not mean it necessarily has this capability; it is necessary to check the properties of the specific iterator before assuming this.
Interface Summary Interface Description AtomicIteratorA SequenceIterator is used to iterate over a sequence. AxisIteratorA SequenceIterator is used to iterate over a sequence of items. GroundedIteratorThis interface is an extension to the SequenceIterator interface; it represents a SequenceIterator that is based on an in-memory representation of a sequence, and that is therefore capable of returning a Sequence containing all the items in the sequence. LookaheadIteratorA SequenceIterator is used to iterate over a sequence. NodeWrappingFunction<B,T extends NodeInfo>Interface to a function that wraps nodes from an external object model in a Saxon NodeInfo representation ReversibleIteratorA ReversibleIterator is an interface implemented by any SequenceIterator that is able to deliver items in reverse order (or to supply another iterator that can do so).
Class Summary Class Description AdjacentTextNodeMergingIteratorAdjacentTextNodeMergingIterator is an iterator that eliminates zero-length text nodes and merges adjacent text nodes from the underlying iterator ArrayIteratorArrayIterator is used to enumerate items held in an array. ArrayIterator.Of<T extends Item>Parameterised subclass to accept items of a particular item type ArrayIterator.OfNodes<N extends NodeInfo>ArrayIterator.OfNodes is a subclass of ArrayIterator where the array always contains Nodes; it therefore implements the AxisIterator interface. AtomizingIteratorAtomizingIterator returns the atomization of an underlying sequence supplied as an iterator. ConcatenatingAxisIteratorAn iterator over nodes, that concatenates the nodes returned by two supplied iterators. EmptyIteratorEmptyIterator: an iterator over an empty sequence. HomogeneityCheckerIteratorAn iterator that returns the same items as its base iterator, checking to see that they are either all nodes, or all non-nodes; if they are all nodes, it delivers them in document order. IncrementalIteratorThis class implements an AxisIterator by providing a start item, and a function that selects the next item as a function of the previous item. ListIteratorClass ListIterator, iterates over a sequence of items held in a Java List. ListIterator.Of<T extends Item> ListIterator.OfAtomic<A extends AtomicValue>ListIterator.OfAtomic is a subclass of ListIterator where the list always contains atomic values; it therefore implements the AtomicIterator interface. LookaheadIteratorImplThis class wraps any sequence iterator, turning it into a lookahead iterator, by looking ahead one item ManualIteratorManualIterator: a pseudo-iterator used while streaming. NodeListIteratorClass ListIterator, iterates over a sequence of items held in a Java List. NodeWrappingAxisIterator<B>An AxisIterator that wraps a Java Iterator. PrependAxisIteratorAn iterator over nodes, that prepends a given node to the nodes returned by another iterator. PrependSequenceIteratorAn iterator over nodes, that prepends a given node to the nodes returned by another iterator. RangeIteratorThis abstract class represents an iteration over the results of a range expression (A by B to C). ReportingSingletonIteratorThis is a subclass of
SingletonIteratorthat reports to a
LearningEvaluatorwhen the single target item is actually read.
SequenceIteratorOverJavaIterator<J> SingleAtomicIteratorSingletonIterator: an iterator over a sequence of exactly one atomic value SingleNodeIteratorSingleNodeIterator: an iterator over a sequence of zero or one nodes SingletonIteratorSingletonIterator: an iterator over a sequence exactly one value TextLinesIteratorAn iterator that iterates over a file line by line, returning each line as a
TwoItemIteratorAn iterator over a pair of objects (typically sub-expressions of an expression) UnparsedTextIteratorClass UnparsedTextIterator, iterates over a file line by line UntypedAtomizingIteratorAtomizingIterator returns the atomization of an underlying sequence supplied as an iterator.