gnu.xml.dom
Class DomIterator

java.lang.Object
  extended bygnu.xml.dom.DomIterator
All Implemented Interfaces:
org.w3c.dom.events.EventListener, org.w3c.dom.traversal.NodeIterator

public final class DomIterator
extends java.lang.Object
implements org.w3c.dom.traversal.NodeIterator, org.w3c.dom.events.EventListener

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

Version:
$Date: 2001/11/20 04:57:05 $
Author:
David Brownell

Constructor Summary
protected DomIterator(org.w3c.dom.Node root, int whatToShow, org.w3c.dom.traversal.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.
 org.w3c.dom.traversal.NodeFilter getFilter()
          DOM L2 Returns the filter provided during construction.
 org.w3c.dom.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(org.w3c.dom.events.Event e)
          Not for public use.
 org.w3c.dom.Node nextNode()
          DOM L2 Returns the next node in a forward iteration, masked and filtered.
 org.w3c.dom.Node previousNode()
          DOM L2 Returns the next node in a backward iteration, masked and filtered.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DomIterator

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

Method Detail

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 org.w3c.dom.traversal.NodeIterator

getExpandEntityReferences

public boolean getExpandEntityReferences()
DOM L2 Returns the flag controlling whether iteration descends through entity references.

Specified by:
getExpandEntityReferences in interface org.w3c.dom.traversal.NodeIterator

getFilter

public org.w3c.dom.traversal.NodeFilter getFilter()
DOM L2 Returns the filter provided during construction.

Specified by:
getFilter in interface org.w3c.dom.traversal.NodeIterator

getRoot

public org.w3c.dom.Node getRoot()
DOM L2 Returns the root of the tree this is iterating through.

Specified by:
getRoot in interface org.w3c.dom.traversal.NodeIterator

getWhatToShow

public int getWhatToShow()
DOM L2 Returns the mask of flags provided during construction.

Specified by:
getWhatToShow in interface org.w3c.dom.traversal.NodeIterator

nextNode

public org.w3c.dom.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 org.w3c.dom.traversal.NodeIterator

previousNode

public org.w3c.dom.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 org.w3c.dom.traversal.NodeIterator

handleEvent

public void handleEvent(org.w3c.dom.events.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 org.w3c.dom.events.EventListener


Source code is under GPL (with library exception) in the JAXP project at http://www.gnu.org/software/classpathx/jaxp
This documentation was derived from that source code on 2008-04-13.