net.sf.saxon.tinytree
Class TinyTreeEventIterator

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

public class TinyTreeEventIterator
extends Object
implements EventIterator

This implementation of the Saxon event-pull interface starts from a document, element, text, comment, or processing-instruction node in a TinyTree, and returns the events corresponding to that node and its descendants (including their attributes and namespaces). The class performs the same function as the general-purpose Decomposer class, but is specialized to exploit the TinyTree data structure: in particular, it never materializes any Node objects.


Constructor Summary
TinyTreeEventIterator(TinyNodeImpl startNode)
          Create a TinyTreeEventIterator to return events associated with a tree or subtree
 
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
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TinyTreeEventIterator

public TinyTreeEventIterator(TinyNodeImpl startNode)
Create a TinyTreeEventIterator to return events associated with a tree or subtree

Parameters:
startNode - the root of the tree or subtree. Must be a document or element node.
Throws:
IllegalArgumentException - if the start node is an attribute or namespace node.
Method Detail

next

public PullEvent next()
               throws XPathException
Get the next event

Specified by:
next in interface EventIterator
Returns:
a PullEvent object representing 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 interface EventIterator
Returns:
true if the next() method is guaranteed never to return an EventIterator


Copyright (C) Michael H. Kay. All rights reserved.