java.lang.Object
javax.swing.text.ElementIterator
- All Implemented Interfaces:
Cloneable
public class ElementIterator extends Object implements Cloneable
ElementIterator
, as the name suggests, iterates 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:
- if
next()
is called beforefirst()
orcurrent()
, the root will be returned next()
returnsnull
to indicate the end of the listprevious()
returnsnull
when the current element is the root ornext()
has returnednull
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 = it.next()) != null) {
// process element
System.out.println("elem: " + elem.getName());
} else {
break;
}
}
}
-
Constructor Summary
Constructors Constructor Description ElementIterator(Document document)
Creates a newElementIterator
.ElementIterator(Element root)
Creates a newElementIterator
. -
Method Summary
Modifier and Type Method Description Object
clone()
Clones theElementIterator
.Element
current()
Fetches the currentElement
.int
depth()
Fetches the current depth of element tree.Element
first()
Fetches the first element.Element
next()
Fetches the nextElement
.Element
previous()
Fetches the previousElement
.
-
Constructor Details
-
ElementIterator
Creates a newElementIterator
. The root element is taken to get the default root element of the document.- Parameters:
document
- aDocument
-
ElementIterator
Creates a newElementIterator
.- Parameters:
root
- the rootElement
-
-
Method Details
-
clone
Clones theElementIterator
. -
first
Fetches the first element.- Returns:
- an
Element
-
depth
public int depth()Fetches the current depth of element tree.- Returns:
- the depth
-
current
Fetches the currentElement
.- Returns:
- element on top of the stack or
null
if the root element isnull
-
next
Fetches the nextElement
. 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
-
previous
Fetches the previousElement
. If however the current element is the last element, or the current element isnull
, thennull
is returned.- Returns:
- previous
Element
if available
-