gnu.xml.dom

Class DomIterator

Implemented Interfaces:
EventListener, NodeIterator

public final class DomIterator
extends java.lang.Object
implements NodeIterator, EventListener

"NodeIterator" implementation, usable with any L2 DOM which supports MutationEvents.

Constructor Summary

DomIterator(Node root, int whatToShow, NodeFilter filter, boolean entityReferenceExpansion)
Constructs and initializes an iterator.

Method Summary

void
detach()
DOM L2 Flags the iterator as done, unregistering its event listener so that the iterator can be garbage collected without relying on weak references (a "Java 2" feature) in the event subsystem.
boolean
getExpandEntityReferences()
DOM L2 Returns the flag controlling whether iteration descends through entity references.
NodeFilter
getFilter()
DOM L2 Returns the filter provided during construction.
Node
getRoot()
DOM L2 Returns the root of the tree this is iterating through.
int
getWhatToShow()
DOM L2 Returns the mask of flags provided during construction.
void
handleEvent(Event e)
Not for public use.
Node
nextNode()
DOM L2 Returns the next node in a forward iteration, masked and filtered.
Node
previousNode()
DOM L2 Returns the next node in a backward iteration, masked and filtered.

Constructor Details

DomIterator

protected DomIterator(Node root,
                      int whatToShow,
                      NodeFilter filter,
                      boolean entityReferenceExpansion)
Constructs and initializes an iterator.

Method Details

detach

public void detach()
DOM L2 Flags the iterator as done, unregistering its event listener so that the iterator can be garbage collected without relying on weak references (a "Java 2" feature) in the event subsystem.
Specified by:
detach in interface NodeIterator


getExpandEntityReferences

public boolean getExpandEntityReferences()
DOM L2 Returns the flag controlling whether iteration descends through entity references.
Specified by:
getExpandEntityReferences in interface NodeIterator


getFilter

public NodeFilter getFilter()
DOM L2 Returns the filter provided during construction.
Specified by:
getFilter in interface NodeIterator


getRoot

public Node getRoot()
DOM L2 Returns the root of the tree this is iterating through.
Specified by:
getRoot in interface NodeIterator


getWhatToShow

public int getWhatToShow()
DOM L2 Returns the mask of flags provided during construction.
Specified by:
getWhatToShow in interface NodeIterator


handleEvent

public void handleEvent(Event e)
Not for public use. This lets the iterator know when its reference node will be removed from the tree, so that a new one may be selected.

This version works by watching removal events as they bubble up. So, don't prevent them from bubbling.

Specified by:
handleEvent in interface EventListener


nextNode

public Node nextNode()
DOM L2 Returns the next node in a forward iteration, masked and filtered. Note that the node may be read-only due to entity expansions. A null return indicates the iteration is complete, but may still be processed backwards.
Specified by:
nextNode in interface NodeIterator


previousNode

public Node previousNode()
DOM L2 Returns the next node in a backward iteration, masked and filtered. Note that the node may be read-only due to entity expansions. A null return indicates the iteration is complete, but may still be processed forwards.
Specified by:
previousNode in interface NodeIterator