Interface AtomizableIterator

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.
  • Method Details

    • setIsAtomizing

      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.