## org.apache.xerces.dom
Class NodeIteratorImpl

    java.lang.Object
      org.apache.xerces.dom.NodeIteratorImpl

All Implemented Interfaces:
  org.w3c.dom.traversal.NodeIterator

public class NodeIteratorImpl
extends java.lang.Object
implements org.w3c.dom.traversal.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.

Version:
  $Id: NodeIteratorImpl.java,v 1.11 2002/11/06 22:58:28 elena Exp $

Constructor Summary
`NodeIteratorImpl(DocumentImpl document, org.w3c.dom.Node root, int whatToShow, org.w3c.dom.traversal.NodeFilter nodeFilter, boolean entityReferenceExpansion)` Public constructor

Method Summary
`void` `detach()`
`boolean` `getExpandEntityReferences()` Return whether children entity references are included in the iterator.
`org.w3c.dom.traversal.NodeFilter` `getFilter()` Return the filter
`org.w3c.dom.Node` `getRoot()`
`int` `getWhatToShow()` Return the whatToShow value
`org.w3c.dom.Node` `nextNode()` Return the next Node in the Iterator.
`org.w3c.dom.Node` `previousNode()` Return the previous Node in the Iterator.
`void` `removeNode(org.w3c.dom.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,
                            org.w3c.dom.Node root,
                            int whatToShow,
                            org.w3c.dom.traversal.NodeFilter nodeFilter,
                            boolean entityReferenceExpansion)

  Public constructor

Method Detail

### getRoot

    public org.w3c.dom.Node getRoot()

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

### getWhatToShow

    public int getWhatToShow()

  Return the whatToShow value

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

### getFilter

    public org.w3c.dom.traversal.NodeFilter getFilter()

  Return the filter

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

### getExpandEntityReferences

    public boolean getExpandEntityReferences()

  Return whether children entity references are included in the iterator.

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

### nextNode

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

### previousNode

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

### removeNode

    public void removeNode(org.w3c.dom.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 `org.w3c.dom.traversal.NodeIterator`

Copyright © 1999-2004 Apache XML Project. All Rights Reserved.