org.enhydra.apache.xerces.dom
Class NodeIteratorImpl

java.lang.Object
  |
  +--org.enhydra.apache.xerces.dom.NodeIteratorImpl
All Implemented Interfaces:
NodeIterator

public class NodeIteratorImpl
extends Object
implements NodeIterator

DefaultNodeIterator implements a NodeIterator, which iterates a DOM tree in the expected depth first way.

The whatToShow and filter functionality is implemented as expected.

This class also has method removeNode to enable iterator "fix-up" on DOM remove. It is expected that the DOM implementation call removeNode right before the actual DOM transformation. If not called by the DOM, the client could call it before doing the removal.


Constructor Summary
NodeIteratorImpl(DocumentImpl document, Node root, int whatToShow, NodeFilter nodeFilter, boolean entityReferenceExpansion)
          Public constructor
 
Method Summary
(package private)  boolean acceptNode(Node node)
          The node is accepted if it passes the whatToShow and the filter.
 void detach()
           
 boolean getExpandEntityReferences()
          Return whether children entity references are included in the iterator.
 NodeFilter getFilter()
          Return the filter
 Node getRoot()
           
 int getWhatToShow()
          Return the whatToShow value
(package private)  Node matchNodeOrParent(Node node)
          Return node, if matches or any parent if matches.
 Node nextNode()
          Return the next Node in the Iterator.
(package private)  Node nextNode(Node node, boolean visitChildren)
          The method nextNode(Node, boolean) returns the next node from the actual DOM tree.
 Node previousNode()
          Return the previous Node in the Iterator.
(package private)  Node previousNode(Node node)
          The method previousNode(Node) returns the previous node from the actual DOM tree.
 void removeNode(Node node)
          Fix-up the iterator on a remove.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NodeIteratorImpl

public NodeIteratorImpl(DocumentImpl document,
                        Node root,
                        int whatToShow,
                        NodeFilter nodeFilter,
                        boolean entityReferenceExpansion)
Public constructor
Method Detail

getRoot

public Node getRoot()
Specified by:
getRoot in interface NodeIterator

getWhatToShow

public int getWhatToShow()
Return the whatToShow value
Specified by:
getWhatToShow in interface NodeIterator

getFilter

public NodeFilter getFilter()
Return the filter
Specified by:
getFilter in interface NodeIterator

getExpandEntityReferences

public boolean getExpandEntityReferences()
Return whether children entity references are included in the iterator.
Specified by:
getExpandEntityReferences in interface NodeIterator

nextNode

public Node nextNode()
Return the next Node in the Iterator. The node is the next node in depth-first order which also passes the filter, and whatToShow. If there is no next node which passes these criteria, then return null.
Specified by:
nextNode in interface NodeIterator

previousNode

public Node previousNode()
Return the previous Node in the Iterator. The node is the next node in _backwards_ depth-first order which also passes the filter, and whatToShow.
Specified by:
previousNode in interface NodeIterator

acceptNode

boolean acceptNode(Node node)
The node is accepted if it passes the whatToShow and the filter.

matchNodeOrParent

Node matchNodeOrParent(Node node)
Return node, if matches or any parent if matches.

nextNode

Node nextNode(Node node,
              boolean visitChildren)
The method nextNode(Node, boolean) returns the next node from the actual DOM tree. The boolean visitChildren determines whether to visit the children. The result is the nextNode.

previousNode

Node previousNode(Node node)
The method previousNode(Node) returns the previous node from the actual DOM tree.

removeNode

public void removeNode(Node node)
Fix-up the iterator on a remove. Called by DOM or otherwise, before an actual DOM remove.

detach

public void detach()
Specified by:
detach in interface NodeIterator


Copyright © 1999 The Apache Software Foundation. All Rights reserved.