net.sf.saxon.evpull
Class BlockEventIterator

java.lang.Object
  extended by net.sf.saxon.evpull.BlockEventIterator
All Implemented Interfaces:
EventIterator, PullEvent

public class BlockEventIterator
extends Object
implements EventIterator

Iterate over the instructions in a Block, concatenating the result of each instruction into a single combined sequence.


Constructor Summary
BlockEventIterator(Expression[] children, XPathContext context)
          Create an EventIterator over the results of evaluating a Block
 
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 item in the sequence.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BlockEventIterator

public BlockEventIterator(Expression[] children,
                          XPathContext context)
Create an EventIterator over the results of evaluating a Block

Parameters:
children - the sequence of instructions comprising the Block
context - the XPath dynamic context
Method Detail

next

public PullEvent next()
               throws XPathException
Get the next item in the sequence.

Specified by:
next in interface EventIterator
Returns:
the next item, or null if there are no more items.
Throws:
XPathException - if an error occurs retrieving the next item

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.