モジュール java.desktop
パッケージ javax.swing.text

クラスElementIterator

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()の前にコールされた場合、ルートが戻されます。
  • リストの終わりを示すnullnext()から返されます
  • 現在の要素がルートまたはnext()によってnullが戻されると、previous()nullを返します。

ElementIteratorElementツリーをロックしません。 つまり、それはどのような変更も追跡しません。 このクラスのユーザーが、要素の反復処理で変更が生じていないことを確認する必要があります。

単純な使用例:

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

      public ElementIterator(Document document)
      新しいElementIteratorを作成します。 ルート要素を取り込むと、ドキュメントのデフォルトのルート要素を取得できます。
      パラメータ:
      document - a Document
    • ElementIterator

      public ElementIterator(Element root)
      新しいElementIteratorを作成します。
      パラメータ:
      root - ルートElement
  • メソッドの詳細

    • clone

      public Object clone()
      ElementIteratorをクローンします。
      オーバーライド:
      clone、クラスObject
      戻り値:
      クローニングされた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