Class ElementIterator
java.lang.Object
javax.swing.text.ElementIterator
- All Implemented Interfaces:
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()returnsnullto indicate the end of the listprevious()returnsnullwhen 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
ConstructorsConstructorDescriptionElementIterator(Document document) Creates a newElementIterator.ElementIterator(Element root) Creates a newElementIterator. -
Method Summary
Methods declared in class Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitModifier and TypeMethodDescriptionbooleanCompares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.protected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.May cause performance issues, deadlocks and hangs.getClass()Answers the unique instance of java.lang.Class which represents the class of the receiver.inthashCode()Answers an integer hash code for the receiver.final voidnotify()Causes one thread which iswaiting on the receiver to be made ready to run.final voidCauses all threads which arewaiting on the receiver to be made ready to run.toString()Answers a string containing a concise, human-readable description of the receiver.final voidwait()Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated bynotifyornotifyAll).final voidwait(long time) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.final voidwait(long time, int frac) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.
-
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
-
first
-
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
nullif 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
nullat the end of the list
-
previous
Fetches the previousElement. If however the current element is the last element, or the current element isnull, thennullis returned.- Returns:
- previous
Elementif available
-