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

クラスElementIterator

  • すべての実装されたインタフェース:
    Cloneable

    public class ElementIterator
    extends Object
    implements Cloneable

    ElementIteratorは、その名前が示すとおり、要素ツリーを反復処理します。 コンストラクタを呼び出すには、ドキュメントまたは要素を引数として使用します。 ドキュメントを引数としてコンストラクタを呼び出すと、繰返しのルートはdocument.getDefaultRootElement()の戻り値になります。 深さ優先方式で繰り返します。 境界条件の処理法は次のとおりです。a) first()またはcurrent()より先にnext()が呼び出された場合は、ルートを返します。b) next()はnullを返してリストの末尾を示します。c) 現在の要素がルートの場合、またはnext()がnullを返した場合、previous()はnullを返します。 ElementIteratorは要素ツリーをロックしません。 つまり、それはどのような変更も追跡しません。 このクラスのユーザーが、要素の反復処理で変更が生じていないことを確認する必要があります。 次に、簡単な使用例を示します。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; } } }

    • コンストラクタの詳細

      • ElementIterator

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

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

      • clone

        public Object clone()
        ElementIteratorを複製します。
        オーバーライド:
        clone、クラス: Object
        戻り値:
        複製したElementIteratorオブジェクト。
        関連項目:
        Cloneable
      • first

        public Element first()
        先頭の要素を取得します。
        戻り値:
        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