Класс 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 |
Создаёт новый ElementIterator. |
ElementIterator |
Создаёт новый ElementIterator. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Object |
clone() |
Создаёт копию ElementIterator. |
Element |
current() |
Возвращает текущий Element. |
int |
depth() |
Возвращает текущую глубину дерева элементов. |
Element |
first() |
Возвращает первый элемент. |
Element |
next() |
Возвращает следующий Element. |
Element |
previous() |
Возвращает предыдущий Element. |
Подробное описание конструкторов
ElementIterator
public ElementIterator(Document document)
ElementIterator. В качестве корневого элемента используется корневой элемент документа по умолчанию.- Параметры:
-
document-Document
ElementIterator
public ElementIterator(Element root)
ElementIterator.- Параметры:
-
root- корневойElement
Подробное описание методов
clone
public Object clone()
ElementIterator.- Переопределяет:
-
cloneв классеObject - Возвращает:
- объект-клонированный
ElementIterator - См. также:
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при наличии
© 1993, 2021, 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/17/docs/api/java.desktop/javax/swing/text/ElementIterator.html