Module java.desktop

Class ElementIterator

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:

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;
          }
      }
 }