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 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.boolean
isFlatSequence()
Determine whether the EventIterator returns a flat sequence of events, or whether it can return nested event iteratorsPullEvent
next()
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:
next
in 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:
isFlatSequence
in interfaceEventIterator
- Returns:
- true if the next() method is guaranteed never to return an EventIterator
-
-