Spec-Zone.ru › OpenJDK 25

Класс 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(), будет возвращён корень
  • next() возвращает null, обозначая конец списка
  • previous() возвращает null, если текущий элемент является корнем или next() вернул 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.

Краткое описание методов

Модификатор и тип Метод Описание
Object clone()
Клонирует ElementIterator.
Element current()
Получает текущий Element.
int depth()
Получает текущую глубину дерева элементов.
Element first()
Получает первый элемент.
Element next()
Получает следующий Element.
Element previous()
Получает предыдущий Element.

Методы, объявленные в классе Object

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

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, если он доступен

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/text/ElementIterator.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API