javax.swing.text
Class ElementIterator

java.lang.Object sample code for java.lang.Object definition code for java.lang.Object 
  extended by javax.swing.text.ElementIterator
All Implemented Interfaces:
Cloneable sample code for java.lang.Cloneable definition code for java.lang.Cloneable

public class ElementIterator
extends Object sample code for java.lang.Object definition code for java.lang.Object
implements Cloneable sample code for java.lang.Cloneable definition code for java.lang.Cloneable

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


Constructor Summary
ElementIterator sample code for javax.swing.text.ElementIterator.ElementIterator(javax.swing.text.Document) definition code for javax.swing.text.ElementIterator.ElementIterator(javax.swing.text.Document) (Document sample code for javax.swing.text.Document definition code for javax.swing.text.Document  document)
          Creates a new ElementIterator.
ElementIterator sample code for javax.swing.text.ElementIterator.ElementIterator(javax.swing.text.Element) definition code for javax.swing.text.ElementIterator.ElementIterator(javax.swing.text.Element) (Element sample code for javax.swing.text.Element definition code for javax.swing.text.Element  root)
          Creates a new ElementIterator.
 
Method Summary
 Object sample code for java.lang.Object definition code for java.lang.Object clone sample code for javax.swing.text.ElementIterator.clone() definition code for javax.swing.text.ElementIterator.clone() ()
          Clones the ElementIterator.
 Element sample code for javax.swing.text.Element definition code for javax.swing.text.Element current sample code for javax.swing.text.ElementIterator.current() definition code for javax.swing.text.ElementIterator.current() ()
          Fetches the current Element.
 int depth sample code for javax.swing.text.ElementIterator.depth() definition code for javax.swing.text.ElementIterator.depth() ()
          Fetches the current depth of element tree.
 Element sample code for javax.swing.text.Element definition code for javax.swing.text.Element first sample code for javax.swing.text.ElementIterator.first() definition code for javax.swing.text.ElementIterator.first() ()
          Fetches the first element.
 Element sample code for javax.swing.text.Element definition code for javax.swing.text.Element next sample code for javax.swing.text.ElementIterator.next() definition code for javax.swing.text.ElementIterator.next() ()
          Fetches the next Element.
 Element sample code for javax.swing.text.Element definition code for javax.swing.text.Element previous sample code for javax.swing.text.ElementIterator.previous() definition code for javax.swing.text.ElementIterator.previous() ()
          Fetches the previous Element.
 
Methods inherited from class java.lang.Object sample code for java.lang.Object definition code for java.lang.Object
equals sample code for java.lang.Object.equals(java.lang.Object) definition code for java.lang.Object.equals(java.lang.Object) , finalize sample code for java.lang.Object.finalize() definition code for java.lang.Object.finalize() , getClass sample code for java.lang.Object.getClass() definition code for java.lang.Object.getClass() , hashCode sample code for java.lang.Object.hashCode() definition code for java.lang.Object.hashCode() , notify sample code for java.lang.Object.notify() definition code for java.lang.Object.notify() , notifyAll sample code for java.lang.Object.notifyAll() definition code for java.lang.Object.notifyAll() , toString sample code for java.lang.Object.toString() definition code for java.lang.Object.toString() , wait sample code for java.lang.Object.wait() definition code for java.lang.Object.wait() , wait sample code for java.lang.Object.wait(long) definition code for java.lang.Object.wait(long) , wait sample code for java.lang.Object.wait(long, int) definition code for java.lang.Object.wait(long, int)
 

Constructor Detail

ElementIterator sample code for javax.swing.text.ElementIterator(javax.swing.text.Document) definition code for javax.swing.text.ElementIterator(javax.swing.text.Document)

public ElementIterator(Document sample code for javax.swing.text.Document definition code for javax.swing.text.Document  document)
Creates a new ElementIterator. The root element is taken to get the default root element of the document.

Parameters:
document - a Document.

ElementIterator sample code for javax.swing.text.ElementIterator(javax.swing.text.Element) definition code for javax.swing.text.ElementIterator(javax.swing.text.Element)

public ElementIterator(Element sample code for javax.swing.text.Element definition code for javax.swing.text.Element  root)
Creates a new ElementIterator.

Parameters:
root - the root Element.
Method Detail

clone sample code for javax.swing.text.ElementIterator.clone() definition code for javax.swing.text.ElementIterator.clone()

public Object sample code for java.lang.Object definition code for java.lang.Object  clone()
Clones the ElementIterator.

Overrides:
clone sample code for java.lang.Object.clone() definition code for java.lang.Object.clone() in class Object sample code for java.lang.Object definition code for java.lang.Object
Returns:
a cloned ElementIterator Object.
See Also:
Cloneable sample code for java.lang.Cloneable definition code for java.lang.Cloneable

first sample code for javax.swing.text.ElementIterator.first() definition code for javax.swing.text.ElementIterator.first()

public Element sample code for javax.swing.text.Element definition code for javax.swing.text.Element  first()
Fetches the first element.

Returns:
an Element.

depth sample code for javax.swing.text.ElementIterator.depth() definition code for javax.swing.text.ElementIterator.depth()

public int depth()
Fetches the current depth of element tree.

Returns:
the depth.

current sample code for javax.swing.text.ElementIterator.current() definition code for javax.swing.text.ElementIterator.current()

public Element sample code for javax.swing.text.Element definition code for javax.swing.text.Element  current()
Fetches the current Element.

Returns:
element on top of the stack or null if the root element is null

next sample code for javax.swing.text.ElementIterator.next() definition code for javax.swing.text.ElementIterator.next()

public Element sample code for javax.swing.text.Element definition code for javax.swing.text.Element  next()
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.

previous sample code for javax.swing.text.ElementIterator.previous() definition code for javax.swing.text.ElementIterator.previous()

public Element sample code for javax.swing.text.Element definition code for javax.swing.text.Element  previous()
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