Class EventMappingIterator

  • All Implemented Interfaces:
    EventIterator, PullEvent

    public final class EventMappingIterator
    extends java.lang.Object
    implements EventIterator
    MappingIterator merges a sequence of sequences into a single sequence. It takes as inputs an iteration, and a mapping function to be applied to each Item returned by that iteration. The mapping function itself returns another iteration. The result is an iteration of iterators. To convert this int a single flat iterator over a uniform sequence of events, the result must be wrapped in an EventStackIterator

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean isFlatSequence()
      Determine whether the EventIterator returns a flat sequence of events, or whether it can return nested event iterators
      PullEvent next()
      Get the next event in the sequence
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • EventMappingIterator

        public EventMappingIterator​(SequenceIterator base,
                                    EventMappingFunction action)
        Construct a MappingIterator that will apply a specified MappingFunction to each Item returned by the base iterator.
        Parameters:
        base - the base iterator
        action - the mapping function to be applied
    • Method Detail

      • next

        public PullEvent next()
                       throws XPathException
        Description copied from interface: EventIterator
        Get the next event in the sequence
        Specified by:
        next in interface EventIterator
        Returns:
        the next event, or null when the sequence is exhausted. Note that since an EventIterator is itself a PullEvent, this method may return a nested iterator.
        Throws:
        XPathException - if a dynamic evaluation error occurs
      • isFlatSequence

        public boolean isFlatSequence()
        Determine whether the EventIterator returns a flat sequence of events, or whether it can return nested event iterators
        Specified by:
        isFlatSequence in interface EventIterator
        Returns:
        true if the next() method is guaranteed never to return an EventIterator