- 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 theElement
tree. The constructor can be invoked with eitherDocument
or anElement
as an argument. If the constructor is invoked with aDocument
as an argument then the root of the iteration is the return value ofdocument.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 theElement
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 Detail
-
ElementIterator
public ElementIterator(Document document)
Creates a newElementIterator
. The root element is taken to get the default root element of the document.- Parameters:
document
- aDocument
-
ElementIterator
public ElementIterator(Element root)
Creates a newElementIterator
.- Parameters:
root
- the rootElement
-
-
Method Detail
-
clone
public Object clone()
Clones theElementIterator
.
-
first
public Element first()
Fetches the first element.- Returns:
- an
Element
-
depth
public int depth()
Fetches the current depth of element tree.- Returns:
- the depth
-
current
public Element current()
Fetches the currentElement
.- Returns:
- element on top of the stack or
null
if the root element isnull
-
next
public Element 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
public Element 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
-
-