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 AtomicIterator<T extends AtomicValue>A SequenceIterator is used to iterate over a sequence. AxisIteratorA SequenceIterator is used to iterate over a sequence of items. ConstrainedIterator<T extends Item>SingletonIterator: an iterator over a sequence of zero or one values 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). UnfailingIteratorA SequenceIterator is used to iterate over a sequence.
Class Summary Class Description AdjacentTextNodeMergingIteratorAdjacentTextNodeMergingIterator is an iterator that eliminates zero-length text nodes and merges adjacent text nodes from the underlying iterator ArrayIterator<T extends Item>ArrayIterator is used to enumerate items held in an array. ArrayIterator.OfNodesArrayIterator.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. ListIterator<T extends Item>Class ListIterator, iterates over a sequence of items held in a Java List ListIterator.Atomic ListIterator.OfNodes LookaheadIteratorImplThis class wraps any sequence iterator, turning it into a lookahead iterator, by looking ahead one item ManualIteratorManualIterator: a pseudo-iterator used while streaming. 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. ReverseListIterator<T extends Item>ReverseListIterator is used to enumerate items held in an array in reverse order. SingleAtomicIterator<T extends AtomicValue>SingletonIterator: an iterator over a sequence of zero or one values SingleNodeIteratorSingleNodeIterator: an iterator over a sequence of zero or one nodes SingletonIterator<T extends Item>SingletonIterator: an iterator over a sequence of zero or one values TextLinesIteratorAn iterator that iterates over a file line by line, returning each line as a
UnparsedTextIteratorClass UnparsedTextIterator, iterates over a file line by line UntypedAtomizingIteratorAtomizingIterator returns the atomization of an underlying sequence supplied as an iterator.