Интерфейс NodeIterator

public interface NodeIterator

NodeIterators используются для перехода по набору узлов, например, набору узлов в NodeList, поддереву документа, управляемому определённым Node, результатам запроса или любому другому набору узлов. Набор узлов, по которому необходимо итерироваться, определяется реализацией NodeIterator. DOM Level 2 определяет единственную реализацию NodeIterator для обхода поддерева документа в порядке следования. Экземпляры этих NodeIterators создаются путём вызова DocumentTraversal.createNodeIterator().

См. также Спецификацию DOM Level 2 Traversal и Range.

Since:
9, DOM Level 2

Методы

Модификатор и тип Метод Описание
void detach()

Отсоединяет NodeIterator от набора, по которому он итерировался, освобождая вычислительные ресурсы и переводя NodeIterator в состояние INVALID.

boolean getExpandEntityReferences()

Значение этого флага определяет, будут ли дочерние узлы узлов ссылок на сущности видны для NodeIterator.

NodeFilter getFilter()

NodeFilter для фильтрации узлов.

Node getRoot()

Корневой узел NodeIterator, как задано при его создании.

int getWhatToShow()

Этот атрибут определяет, какие типы узлов отображаются с помощью NodeIterator.

Node nextNode()

Возвращает следующий узел в наборе и перемещает позицию NodeIterator в наборе.

Node previousNode()

Возвращает предыдущий узел в наборе и перемещает позицию NodeIterator назад в наборе.

Методы

getRoot

Node getRoot()

Корневой узел NodeIterator, как задано при его создании.

getWhatToShow

int getWhatToShow()

Этот атрибут определяет, какие типы узлов отображаются с помощью NodeIterator. Доступный набор констант определён в интерфейсе NodeFilter. Узлы, не принятые whatToShow будут пропущены, но их дочерние узлы могут быть рассмотрены. Обратите внимание, что этот пропуск имеет приоритет над фильтром, если он есть.

getFilter

NodeFilter getFilter()

NodeFilter для фильтрации узлов.

getExpandEntityReferences

boolean getExpandEntityReferences()

Значение этого флага определяет, будут ли дочерние узлы узлов ссылок на сущности видны для NodeIterator. Если false, эти дочерние узлы и их потомки будут отклонены. Обратите внимание, что это отклонение имеет приоритет над whatToShow и фильтром. Также обратите внимание, что это единственный случай, когда NodeIterators может отклонить всё поддерево, а не пропускать отдельные узлы.

Для отображения документа с раскрытыми ссылками на сущности и без отображения узла ссылки на сущность, используйте флаги whatToShow для скрытия узла ссылки на сущность и установите expandEntityReferences в true при создании NodeIterator. Для отображения документа с узлами ссылок на сущности, но без раскрытия сущностей, используйте флаги whatToShow для отображения узла ссылки на сущность и установите expandEntityReferences в false.

nextNode

Node nextNode()
       throws DOMException

Возвращает следующий узел в наборе и перемещает позицию NodeIterator в наборе. После создания NodeIterator первый вызов nextNode() возвращает первый узел в наборе.

Возвращает:
Следующий Node в наборе, по которому итерируется, или null если в наборе больше нет элементов.
Выбрасывает:
DOMException - INVALID_STATE_ERR: Выбрасывается, если этот метод вызывается после вызова метода detach.

previousNode

Node previousNode()
           throws DOMException

Возвращает предыдущий узел в наборе и перемещает позицию NodeIterator назад в наборе.

Возвращает:
Предыдущий Node в наборе, по которому итерируется, или null если в наборе больше нет элементов.
Выбрасывает:
DOMException - INVALID_STATE_ERR: Выбрасывается, если этот метод вызывается после вызова метода detach.

detach

void detach()

Отсоединяет NodeIterator от набора, по которому он итерировался, освобождая вычислительные ресурсы и переводя NodeIterator в состояние INVALID. После вызова detach вызовы nextNode или previousNode будут вызывать исключение INVALID_STATE_ERR.

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.xml/org/w3c/dom/traversal/NodeIterator.html

Spec-Zone .ru
спецификации, руководства, описания, API