net.sf.saxon.om
Interface AtomizableIterator

All Superinterfaces:
SequenceIterator
All Known Implementing Classes:
AxisIteratorImpl, MappingIterator, SingletonIterator

public interface AtomizableIterator
extends SequenceIterator

A SequenceIterator is used to iterate over a sequence. An AtomizableIterator is a SequenceIterator that can be asked to atomize any nodes encountered in this sequence. It does not actually have to perform this atomization, it merely has to accept the request. If atomization is requested, the iterator can atomize some, all, or none of the nodes it encounters at its discretion: any that are not atomized will be handled by the containing Atomizer. This mechanism provides an optimization, allowing atomization to occur at a lower level of the system, which avoids the overheads of node creation in some tree models.


Field Summary
 
Fields inherited from interface net.sf.saxon.om.SequenceIterator
ATOMIZABLE, GROUNDED, LAST_POSITION_FINDER, LOOKAHEAD
 
Method Summary
 void setIsAtomizing(boolean atomizing)
          Indicate that any nodes returned in the sequence will be atomized.
 
Methods inherited from interface net.sf.saxon.om.SequenceIterator
current, getAnother, getProperties, next, position
 

Method Detail

setIsAtomizing

public void setIsAtomizing(boolean atomizing)
Indicate that any nodes returned in the sequence will be atomized. This means that if it wishes to do so, the implementation can return the typed values of the nodes rather than the nodes themselves. The implementation is free to ignore this hint.

Parameters:
atomizing - true if the caller of this iterator will atomize any nodes that are returned, and is therefore willing to accept the typed value of the nodes instead of the nodes themselves.