## net.sf.saxon.evpull
Class EventMappingIterator

    java.lang.Object
      net.sf.saxon.evpull.EventMappingIterator

All Implemented Interfaces:
  EventIterator, PullEvent

    public final class EventMappingIterator

extends 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`

Constructor Summary
`EventMappingIterator(SequenceIterator base, EventMappingFunction action)` Construct a MappingIterator that will apply a specified MappingFunction to each Item returned by the base iterator.

Method Summary
`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

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