ElementIterator, as the name suggests, iteratates over the Element
tree.
ElementIterator, as the name suggests, iteratates over the Element
tree. The constructor can be invoked with either Document or an Element
as an argument. If the constructor is invoked with a Document as an
argument then the root of the iteration is the return value of
document.getDefaultRootElement().
The iteration happens in a depth-first manner. In terms of how
boundary conditions are handled:
a) if next() is called before first() or current(), the
root will be returned.
b) next() returns null to indicate the end of the list.
c) previous() returns null when the current element is the root
or next() has returned null.
The ElementIterator does no locking of the Element tree. This means
that it does not track any changes. It is the responsibility of the
user of this class, to ensure that no changes happen during element
iteration.
Simple usage example:
public void iterate() {
ElementIterator it = new ElementIterator(root);
Element elem;
while (true) {
if ((elem = next()) != null) {
// process element
System.out.println("elem: " + elem.getName());
} else {
break;
}
}
}
Fetches the next Element. The strategy used to locate the next element is a depth-first search.
Returns:
the next element or null
at the end of the list.
Fetches the previous Element. If howver the current element is the last element, or the current element is null, then null is returned.
Returns:
previous Element if available