# Package net.sf.saxon.tree.iter

This package defines implementations and subinterfaces of the interface SequenceIterator, which is used to iterate over an XDM sequence.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  AxisIterator<T extends NodeInfo> | A SequenceIterator is used to iterate over a sequence.
  GroundedIterator<T extends Item> | This 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 returned a SequenceValue containing all the items in the sequence.
  LookaheadIterator<T extends Item> | A 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
  ReversibleIterator<T extends Item> | A 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).
  UnfailingIterator<T extends Item> | A SequenceIterator is used to iterate over a sequence.

- Class Summary
  Class | Description
  --- | ---
  AdjacentTextNodeMergingIterator | AdjacentTextNodeMergingIterator 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.
  AtomizingIterator | AtomizingIterator returns the atomization of an underlying sequence supplied as an iterator.
  AxisIteratorImpl | A SequenceIterator is used to iterate over a sequence.
  AxisIteratorOverSequence<T extends NodeInfo> | This class wraps any SequenceIterator as an AxisIterator.
  EmptyAxisIterator<T extends NodeInfo> | An AxisIterator over an empty sequence
  EmptyIterator<T extends Item> | EmptyIterator: an iterator over an empty sequence.
  HomogeneityCheckerIterator | An 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.
  IteratorIterator<T extends Item> | A SequenceIterator that wraps a Java Iterator.
  ListIterator<T extends Item> | Class ListIterator, iterates over a sequence of items held in a Java List
  LookaheadIteratorImpl | This class wraps any sequence iterator, turning it into a lookahead iterator, by looking ahead one item
  ManualIterator | ManualIterator: a pseudo-iterator used while streaming.
  NodeWrappingAxisIterator<T extends NodeInfo,B> | An AxisIterator that wraps a Java Iterator.
  PrependIterator | An iterator over nodes, that prepends a given node to the nodes returned by another iterator.
  ReverseArrayIterator<T extends Item> | ReverseArrayIterator is used to enumerate items held in an array in reverse order.
  SingleNodeIterator | SingletonIterator: an iterator over a sequence of zero or one values
  SingletonIterator<T extends Item> | SingletonIterator: an iterator over a sequence of zero or one values
  TextLinesIterator | An iterator that iterates over a file line by line.
  UnparsedTextIterator | Class UnparsedTextIterator, iterates over a file line by line
  UntypedAtomizingIterator<B extends Item> | AtomizingIterator returns the atomization of an underlying sequence supplied as an iterator.

## Package net.sf.saxon.tree.iter Description

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.

Michael H. Kay
Saxonica Limited
28 November 2011

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.