org.jaxen.dom
Class DocumentNavigator.NodeIterator

java.lang.Object
  extended byorg.jaxen.dom.DocumentNavigator.NodeIterator
All Implemented Interfaces:
java.util.Iterator
Enclosing class:
DocumentNavigator

abstract class DocumentNavigator.NodeIterator
extends java.lang.Object
implements java.util.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 Summary
private  org.w3c.dom.Node node
           
 
Constructor Summary
DocumentNavigator.NodeIterator(org.w3c.dom.Node contextNode)
          Constructor.
 
Method Summary
protected abstract  org.w3c.dom.Node getFirstNode(org.w3c.dom.Node contextNode)
          Get the first node for iteration.
protected abstract  org.w3c.dom.Node getNextNode(org.w3c.dom.Node contextNode)
          Get the next node for iteration.
 boolean hasNext()
           
private  boolean isXPathNode(org.w3c.dom.Node node)
          Test whether a DOM node is usable by XPath.
 java.lang.Object next()
           
 void remove()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

node

private org.w3c.dom.Node node
Constructor Detail

DocumentNavigator.NodeIterator

public DocumentNavigator.NodeIterator(org.w3c.dom.Node contextNode)
Constructor.

Parameters:
contextNode - The starting node.
Method Detail

hasNext

public boolean hasNext()
Specified by:
hasNext in interface java.util.Iterator
See Also:
Iterator.hasNext()

next

public java.lang.Object next()
Specified by:
next in interface java.util.Iterator
See Also:
Iterator.next()

remove

public void remove()
Specified by:
remove in interface java.util.Iterator
See Also:
Iterator.remove()

getFirstNode

protected abstract org.w3c.dom.Node getFirstNode(org.w3c.dom.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(org.w3c.dom.Node)

getNextNode

protected abstract org.w3c.dom.Node getNextNode(org.w3c.dom.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:
getFirstNode(org.w3c.dom.Node)

isXPathNode

private boolean isXPathNode(org.w3c.dom.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.