Package org.jaxen.dom

Class DocumentNavigator.NodeIterator

java.lang.Object
org.jaxen.dom.DocumentNavigator.NodeIterator
All Implemented Interfaces:
Iterator
Enclosing class:
DocumentNavigator

abstract class DocumentNavigator.NodeIterator extends Object implements Iterator
A generic iterator over DOM nodes.

Concrete subclasses must implement the getFirstNode(org.w3c.dom.Node) and getNextNode(org.w3c.dom.Node) methods for a specific iteration strategy.

  • Field Details

    • node

      private Node node
  • Constructor Details

    • NodeIterator

      public NodeIterator(Node contextNode)
      Constructor.
      Parameters:
      contextNode - the starting node
  • Method Details

    • hasNext

      public boolean hasNext()
      Specified by:
      hasNext in interface Iterator
    • next

      public Object next()
      Specified by:
      next in interface Iterator
    • remove

      public void remove()
      Specified by:
      remove in interface Iterator
    • getFirstNode

      protected abstract Node getFirstNode(Node contextNode)
      Get the first node for iteration.

      This method must derive an initial node for iteration from a context node.

      Parameters:
      contextNode - the starting node
      Returns:
      the first node in the iteration
      See Also:
    • getNextNode

      protected abstract Node getNextNode(Node contextNode)
      Get the next node for iteration.

      This method must locate a following node from the current context node.

      Parameters:
      contextNode - the current node in the iteration
      Returns:
      the following node in the iteration, or null if there is none
      See Also:
    • isXPathNode

      private boolean isXPathNode(Node node)
      Test whether a DOM node is usable by XPath.
      Parameters:
      node - the DOM node to test
      Returns:
      true if the node is usable, false if it should be skipped