## net.sf.saxon.tinytree
Class TinyTreeEventIterator

    java.lang.Object
      net.sf.saxon.tinytree.TinyTreeEventIterator

All Implemented Interfaces:
  EventIterator, PullEvent

    public class TinyTreeEventIterator

extends java.lang.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, PipelineConfiguration pipe)` 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
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### TinyTreeEventIterator

    public TinyTreeEventIterator(TinyNodeImpl startNode,
                                 PipelineConfiguration pipe)

  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.
    `pipe` - the Saxon pipeline configuration
  Throws:
    `java.lang.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) Saxonica Limited. All rights reserved.