クラス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を作成します。
    新しいElementIteratorを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    ElementIteratorをクローンします。
    現在のElementをフェッチします。
    int
    要素ツリーの現在の深さを取得します。
    先頭の要素を取得します。
    次のElementをフェッチします。
    前のElementをフェッチします。

    クラスオブジェクトで宣言されたメソッド

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • 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