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 447266 2006-09-18 05:57:49Z mrglavas $

  # INTERNAL:

    Usage of this class is not supported. It may be altered or removed at any time.

- - ### Constructor Summary

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

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `detach()` Detaches the `NodeIterator` from the set which it iterated over, releasing any computational resources and placing the `NodeIterator` in the INVALID state.
    `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()` The root node of the `NodeIterator`, as specified when it was created.
    `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()

      Description copied from interface: `org.w3c.dom.traversal.NodeIterator`
      The root node of the `NodeIterator`, as specified when it was created.
      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`
      Returns:
        The next `Node` in the set being iterated over, or `null` if there are no more members in that set.

    - #### 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`
      Returns:
        The previous `Node` in the set being iterated over, or `null` if there are no more members in that set.

    - #### 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()

      Description copied from interface: `org.w3c.dom.traversal.NodeIterator`
      Detaches the `NodeIterator` from the set which it iterated over, releasing any computational resources and placing the `NodeIterator` in the INVALID state. After `detach` has been invoked, calls to `nextNode` or `previousNode` will raise the exception INVALID_STATE_ERR.
      Specified by:
        `detach` in interface `org.w3c.dom.traversal.NodeIterator`

Copyright © 1999-2022 The Apache Software Foundation. All Rights Reserved.