Класс ElementIterator
- java.lang.Object
-
- javax.swing.text.ElementIterator
- Все реализованные интерфейсы:
- Cloneable
public class ElementIterator extends Object implements Cloneable
Класс ElementIterator, как следует из названия, итерирует по дереву Element. Конструктор может быть вызван с документом или элементом в качестве аргумента. Если конструктор вызван с документом в качестве аргумента, то корнем итерации является значение, возвращаемое методом 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 = next()) != null) { // обработать элемент System.out.println("elem: " + elem.getName()); } else { break; } } }
Конструкторы
| Конструктор и описание |
|---|
ElementIterator(Document document) Создает новый ElementIterator. |
ElementIterator(Element root) Создает новый ElementIterator. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
Object |
clone() Клонирует ElementIterator. |
Element |
current() Возвращает текущий элемент. |
int |
depth() Возвращает текущую глубину дерева элементов. |
Element |
first() Возвращает первый элемент. |
Element |
next() Возвращает следующий элемент. |
Element |
previous() Возвращает предыдущий элемент. |
Методы, унаследованные от класса java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
ElementIterator
public ElementIterator(Document document)
Создает новый ElementIterator. Корневой элемент берется для получения корневого элемента по умолчанию документа.
- Параметры:
-
document- документ.
ElementIterator
public ElementIterator(Element root)
Создает новый ElementIterator.
- Параметры:
-
root- корневой элемент.
Методы
clone
public Object clone()
Клонирует ElementIterator.
- Переопределяет:
-
cloneв классеObject - Возвращает:
- объект ElementIterator, являющийся клоном.
- См. также:
Cloneable
first
public Element first()
Возвращает первый элемент.
- Возвращает:
- элемент.
depth
public int depth()
Возвращает текущую глубину дерева элементов.
- Возвращает:
- глубину.
current
public Element current()
Возвращает текущий элемент.
- Возвращает:
- элемент на вершине стека или
nullесли корневой элемент являетсяnull
next
public Element next()
Возвращает следующий элемент. Стратегия поиска следующего элемента — обход в глубину.
- Возвращает:
- следующий элемент или
nullв конце списка.
previous
public Element previous()
Возвращает предыдущий элемент. Однако, если текущий элемент является последним элементом или текущий элемент равен null, возвращается null.
- Возвращает:
- предыдущий элемент, если доступен
© 1993, 2020, 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.