Spec-Zone.ru › OpenJDK 8

Интерфейс ElementVisitor

Параметры типа:
R - тип возвращаемого значения методами этого посетителя. Используйте Void для посетителей, которым не нужно возвращать результаты.
P - тип дополнительного параметра методов этого посетителя. Используйте Void для посетителей, которым не нужен дополнительный параметр.
Все известные реализующие классы:
AbstractElementVisitor6, AbstractElementVisitor7, AbstractElementVisitor8, ElementKindVisitor6, ElementKindVisitor7, ElementKindVisitor8, ElementScanner6, ElementScanner7, ElementScanner8, SimpleElementVisitor6, SimpleElementVisitor7, SimpleElementVisitor8

public interface ElementVisitor<R,P>

Посетитель элементов программы, в стиле паттерна проектирования посетитель. Классы, реализующие этот интерфейс, используются для работы с элементом, когда тип элемента неизвестен во время компиляции. Когда посетитель передаётся методу accept элемента, вызывается метод visitXYZ, наиболее подходящий для этого элемента.

Классы, реализующие этот интерфейс, могут или не могут выбрасывать NullPointerException если дополнительный параметр p имеет значение null; см. документацию реализующего класса для получения подробностей.

ПРЕДУПРЕЖДЕНИЕ: Возможно, к этому интерфейсу будут добавлены методы для поддержки новых, на данный момент неизвестных, структур языка, добавленных в будущие версии языка программирования Java™. Поэтому классы-посетители, непосредственно реализующие этот интерфейс, могут быть несовместимы с будущими версиями платформы. Чтобы избежать этой несовместимости, реализации посетителей рекомендуется расширять соответствующий абстрактный класс посетителя, реализующий этот интерфейс. Однако API обычно должен использовать этот интерфейс посетителя в качестве типа для параметров, возвращаемого типа и т. д., а не один из абстрактных классов.

Обратите внимание, что методы для поддержки новых конструкций языка могут быть добавлены совместимым способом, если они будут добавлены как методы по умолчанию. Однако методы по умолчанию доступны только в Java SE 8 и более поздних версиях, и пакеты javax.lang.model.*, входящие в состав Java SE 8, также должны быть работоспособны в Java SE 7. Следовательно, методы по умолчанию не могут использоваться при расширении javax.lang.model.* для поддержки функций языка Java SE 8. Однако методы по умолчанию могут использоваться в последующих переработках пакетов javax.lang.model.* , которые требуются только для работы на платформах Java SE 8 и выше.

С:
1.6
См. также:
AbstractElementVisitor6, AbstractElementVisitor7

Методы

Модификатор и тип Метод и описание
R visit(Element e)

Метод-удобство, эквивалентный v.visit(e, null).

R visit(Element e, P p)

Посещает элемент.

R visitExecutable(ExecutableElement e, P p)

Посещает исполняемый элемент.

R visitPackage(PackageElement e, P p)

Посещает элемент пакета.

R visitType(TypeElement e, P p)

Посещает элемент типа.

R visitTypeParameter(TypeParameterElement e, P p)

Посещает элемент параметра типа.

R visitUnknown(Element e, P p)

Посещает элемент неизвестного типа.

R visitVariable(VariableElement e, P p)

Посещает элемент переменной.

Методы

visit

R visit(Element e,
        P p)

Посещает элемент.

Параметры:
e - посещаемый элемент
p - параметр, заданный посетилем
Возвращает:
результат, заданный посетилем

visit

R visit(Element e)

Метод-удобство, эквивалентный v.visit(e, null).

Параметры:
e - посещаемый элемент
Возвращает:
результат, заданный посетилем

visitPackage

R visitPackage(PackageElement e,
               P p)

Посещает элемент пакета.

Параметры:
e - посещаемый элемент
p - параметр, заданный посетилем
Возвращает:
результат, заданный посетилем

visitType

R visitType(TypeElement e,
            P p)

Посещает элемент типа.

Параметры:
e - посещаемый элемент
p - параметр, заданный посетилем
Возвращает:
результат, заданный посетилем

visitVariable

R visitVariable(VariableElement e,
                P p)

Посещает элемент переменной.

Параметры:
e - посещаемый элемент
p - параметр, заданный посетилем
Возвращает:
результат, заданный посетилем

visitExecutable

R visitExecutable(ExecutableElement e,
                  P p)

Посещает исполняемый элемент.

Параметры:
e - посещаемый элемент
p - параметр, заданный посетилем
Возвращает:
результат, заданный посетилем

visitTypeParameter

R visitTypeParameter(TypeParameterElement e,
                     P p)

Посещает элемент параметра типа.

Параметры:
e - посещаемый элемент
p - параметр, заданный посетилем
Возвращает:
результат, заданный посетилем

visitUnknown

R visitUnknown(Element e,
               P p)

Посещает элемент неизвестного типа. Это может произойти, если язык эволюционирует и добавляются новые типы элементов в иерархию Element.

Параметры:
e - посещаемый элемент
p - параметр, заданный посетилем
Возвращает:
результат, заданный посетилем
Выбрасывает:
UnknownElementException - реализация посетителя может по желанию выбросить это исключение

© 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.

Spec-Zone.ru

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