gnu.xml.dom
Class DomIterator

java.lang.Object
  |
  +--gnu.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/06/20 21:30:05 $
Author:
David Brownell

Constructor Summary
protected DomIterator(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.
 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.
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DomIterator

protected DomIterator(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 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 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
Following copied from interface: org.w3c.dom.traversal.NodeIterator
Returns:
The next Node in the set being iterated over, or null if there are no more members in that set.
Throws:
DOMException - INVALID_STATE_ERR: Raised if this method is called after the detach method was invoked.

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 org.w3c.dom.traversal.NodeIterator
Following copied from interface: org.w3c.dom.traversal.NodeIterator
Returns:
The previous Node in the set being iterated over, or null if there are no more members in that set.
Throws:
DOMException - INVALID_STATE_ERR: Raised if this method is called after the detach method was invoked.

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
Following copied from interface: org.w3c.dom.events.EventListener
Parameters:
evt - The Event contains contextual information about the event. It also contains the stopPropagation and preventDefault methods which are used in determining the event's flow and default action.

Source code is GPL'd in the JAXP subproject at http://savannah.gnu.org/projects/classpathx
This documentation was derived from that source code on 2001-07-12.