Package net.sf.saxon.evpull
Class EventStackIterator
java.lang.Object
net.sf.saxon.evpull.EventStackIterator
- All Implemented Interfaces:
EventIterator
,PullEvent
An EventStackIterator is an EventIterator that delivers a flat sequence of PullEvents
containing no nested EventIterators
-
Method Summary
Modifier and TypeMethodDescriptionstatic 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
Determine whether the EventIterator returns a flat sequence of events, or whether it can return nested event iteratorsnext()
Get the next event in the sequence.
-
Method Details
-
flatten
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
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
-