Package net.sf.saxon.evpull
Class EventStackIterator
- java.lang.Object
-
- net.sf.saxon.evpull.EventStackIterator
-
- All Implemented Interfaces:
EventIterator,PullEvent
public class EventStackIterator extends java.lang.Object implements EventIterator
An EventStackIterator is an EventIterator that delivers a flat sequence of PullEvents containing no nested EventIterators
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static EventIteratorflatten(EventIterator base)Factory method to create an iterator that flattens the sequence of PullEvents received from a base iterator, that is, it returns an EventIterator that will never return any nested iterators.booleanisFlatSequence()Determine whether the EventIterator returns a flat sequence of events, or whether it can return nested event iteratorsPullEventnext()Get the next event in the sequence.
-
-
-
Method Detail
-
flatten
public static EventIterator flatten(EventIterator base)
Factory method to create an iterator that flattens the sequence of PullEvents received from a base iterator, that is, it returns an EventIterator that will never return any nested iterators.- Parameters:
base- the base iterator. Any nested EventIterator returned by the base iterator will be flattened, recursively.
-
next
public PullEvent next() throws XPathException
Get the next event in the sequence. This will never be an EventIterator.- Specified by:
nextin interfaceEventIterator- Returns:
- the next event, or null when the sequence is exhausted
- 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:
isFlatSequencein interfaceEventIterator- Returns:
- true if the next() method is guaranteed never to return an EventIterator
-
-