Spec-Zone.ru › OpenJDK 8

Интерфейс AnnotationValueVisitor<R,P>

Параметры типа:
R - тип возвращаемого значения методов этого посетителя
P - тип дополнительного параметра для методов этого посетителя.
Все известные реализующие классы:
AbstractAnnotationValueVisitor6, AbstractAnnotationValueVisitor7, AbstractAnnotationValueVisitor8, SimpleAnnotationValueVisitor6, SimpleAnnotationValueVisitor7, SimpleAnnotationValueVisitor8

public interface AnnotationValueVisitor<R,P>

Посетитель значений элементов аннотационного типа, использующий вариант паттерна проектирования посетитель. В отличие от стандартного посетителя, который выполняет рассылку на основе конкретного типа члена иерархии типов, этот посетитель выполняет рассылку на основе типа хранящихся данных; нет отдельных подклассов для хранения, например, значений boolean по сравнению со значениями int. Классы, реализующие этот интерфейс, используются для работы со значением, когда тип этого значения неизвестен во время компиляции. Когда посетитель передается методу 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

Методы

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

Удобный метод, эквивалентный v.visit(av, null).

R visit(AnnotationValue av, P p)

Посещает значение аннотации.

R visitAnnotation(AnnotationMirror a, P p)

Посещает значение аннотации в аннотации.

R visitArray(List<? extends AnnotationValue> vals, P p)

Посещает значение массива в аннотации.

R visitBoolean(boolean b, P p)

Посещает значение boolean в аннотации.

R visitByte(byte b, P p)

Посещает значение byte в аннотации.

R visitChar(char c, P p)

Посещает значение char в аннотации.

R visitDouble(double d, P p)

Посещает значение double в аннотации.

R visitEnumConstant(VariableElement c, P p)

Посещает значение enum в аннотации.

R visitFloat(float f, P p)

Посещает значение float в аннотации.

R visitInt(int i, P p)

Посещает значение int в аннотации.

R visitLong(long i, P p)

Посещает значение long в аннотации.

R visitShort(short s, P p)

Посещает значение short в аннотации.

R visitString(String s, P p)

Посещает строковое значение в аннотации.

R visitType(TypeMirror t, P p)

Посещает значение типа в аннотации.

R visitUnknown(AnnotationValue av, P p)

Посещает значение неизвестного типа аннотации.

Методы

visit

R visit(AnnotationValue av,
        P p)

Посещает значение аннотации.

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

visit

R visit(AnnotationValue av)

Удобный метод, эквивалентный v.visit(av, null).

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

visitBoolean

R visitBoolean(boolean b,
               P p)

Посещает значение boolean в аннотации.

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

visitByte

R visitByte(byte b,
            P p)

Посещает значение byte в аннотации.

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

visitChar

R visitChar(char c,
            P p)

Посещает значение char в аннотации.

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

visitDouble

R visitDouble(double d,
              P p)

Посещает значение double в аннотации.

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

visitFloat

R visitFloat(float f,
             P p)

Посещает значение float в аннотации.

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

visitInt

R visitInt(int i,
           P p)

Посещает значение int в аннотации.

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

visitLong

R visitLong(long i,
            P p)

Посещает значение long в аннотации.

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

visitShort

R visitShort(short s,
             P p)

Посещает значение short в аннотации.

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

visitString

R visitString(String s,
              P p)

Посещает строковое значение в аннотации.

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

visitType

R visitType(TypeMirror t,
            P p)

Посещает значение типа в аннотации.

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

visitEnumConstant

R visitEnumConstant(VariableElement c,
                    P p)

Посещает значение enum в аннотации.

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

visitAnnotation

R visitAnnotation(AnnotationMirror a,
                  P p)

Посещает значение аннотации в аннотации.

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

visitArray

R visitArray(List<? extends AnnotationValue> vals,
             P p)

Посещает значение массива в аннотации.

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

visitUnknown

R visitUnknown(AnnotationValue av,
               P p)

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

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

© 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