java.lang.Object
javax.swing.text.ElementIterator
- すべての実装されたインタフェース:
Cloneable
public class ElementIterator extends Object implements Cloneable
ElementIterator
は、名前が示すとおり、Element
ツリーを反復処理します。 このコンストラクタは、Document
またはElement
を引数として使用して呼び出すことができます。 コンストラクタが引数としてDocument
で呼び出される場合、反復のルートはdocument.getDefaultRootElement()
の戻り値です。
深さ優先方式で繰り返します。 境界条件の処理方法:
next()
がfirst()
またはcurrent()
の前にコールされた場合、ルートが戻されます。- リストの終わりを示す
null
がnext()
から返されます - 現在の要素がルートまたは
next()
によってnull
が戻されると、previous()
はnull
を返します。
ElementIterator
はElement
ツリーをロックしません。 つまり、それはどのような変更も追跡しません。 このクラスのユーザーが、要素の反復処理で変更が生じていないことを確認する必要があります。
単純な使用例:
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;
}
}
}
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 ElementIterator(Document document)
新しいElementIterator
を作成します。ElementIterator(Element root)
新しいElementIterator
を作成します。 -
メソッドのサマリー
-
コンストラクタの詳細
-
メソッドの詳細
-
clone
public Object clone()ElementIterator
をクローンします。 -
first
public Element first()先頭の要素を取得します。- 戻り値:
- an
Element
-
depth
public int depth()要素ツリーの現在の深さを取得します。- 戻り値:
- 深さ
-
current
public Element current()現在のElement
をフェッチします。- 戻り値:
- スタック上の要素。ルート要素が
null
の場合はnull
-
next
public Element next()次のElement
をフェッチします。 次の要素を見つけるには深さ優先探索が使われます。- 戻り値:
- 次の要素。リスト末尾では
null
-
previous
public Element previous()前のElement
をフェッチします。 ただし、現在の要素が最後の要素の場合、または現在の要素がnull
の場合は、null
が戻されます。- 戻り値:
- 利用できる場合は前の
Element
-