org.jaxen.dom

Class DocumentNavigator.NodeIterator

abstract class DocumentNavigator.NodeIterator extends Object implements Iterator

A generic iterator over DOM nodes.

Concrete subclasses must implement the NodeIterator and NodeIterator methods for a specific iteration strategy.

Field Summary
Nodenode
Constructor Summary
NodeIterator(Node contextNode)
Constructor.
Method Summary
protected abstract NodegetFirstNode(Node contextNode)
Get the first node for iteration.
protected abstract NodegetNextNode(Node contextNode)
Get the next node for iteration.
booleanhasNext()
booleanisXPathNode(Node node)
Test whether a DOM node is usable by XPath.
Objectnext()
voidremove()

Field Detail

node

private Node node

Constructor Detail

NodeIterator

public NodeIterator(Node contextNode)
Constructor.

Parameters: contextNode the starting node

Method Detail

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: NodeIterator

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: NodeIterator

hasNext

public boolean hasNext()

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

next

public Object next()

remove

public void remove()