- All Superinterfaces:
- SequenceIterator
- All Known Implementing Classes:
- AncestorEnumeration, AttributeEnumeration, AttributeEnumeration, AxisIteratorImpl, ContextMappingIterator, DescendantEnumeration, FollowingEnumeration, MappingIterator, Navigator.AncestorEnumeration, Navigator.AxisFilter, Navigator.BaseEnumeration, Navigator.DescendantEnumeration, Navigator.FollowingEnumeration, Navigator.PrecedingEnumeration, PrecedingEnumeration, PrecedingSiblingEnumeration, SiblingEnumeration, 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.