Spec-Zone.ru › OpenJDK 8

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

Параметры типа:
R - тип возвращаемого значения методов этого посетителя. Используйте Void для посетителей, которым не нужно возвращать результаты.
P - тип дополнительного параметра методов этого посетителя. Используйте Void для посетителей, которым не нужен дополнительный параметр.
Все известные реализующие классы:
AbstractTypeVisitor6, AbstractTypeVisitor7, AbstractTypeVisitor8, SimpleTypeVisitor6, SimpleTypeVisitor7, SimpleTypeVisitor8, TypeKindVisitor6, TypeKindVisitor7, TypeKindVisitor8

public interface TypeVisitor<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

Методы

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

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

R visit(TypeMirror t, P p)

Посещает тип.

R visitArray(ArrayType t, P p)

Посещает тип массива.

R visitDeclared(DeclaredType t, P p)

Посещает объявленный тип.

R visitError(ErrorType t, P p)

Посещает тип ошибки.

R visitExecutable(ExecutableType t, P p)

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

R visitIntersection(IntersectionType t, P p)

Посещает пересекающийся тип.

R visitNoType(NoType t, P p)

Посещает экземпляр NoType.

R visitNull(NullType t, P p)

Посещает нулевой тип.

R visitPrimitive(PrimitiveType t, P p)

Посещает примитивный тип.

R visitTypeVariable(TypeVariable t, P p)

Посещает переменную типа.

R visitUnion(UnionType t, P p)

Посещает объединение типов.

R visitUnknown(TypeMirror t, P p)

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

R visitWildcard(WildcardType t, P p)

Посещает тип с подстановкой.

Методы

visit

R visit(TypeMirror t,
        P p)

Посещает тип.

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

visit

R visit(TypeMirror t)

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

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

visitPrimitive

R visitPrimitive(PrimitiveType t,
                 P p)

Посещает примитивный тип.

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

visitNull

R visitNull(NullType t,
            P p)

Посещает нулевой тип.

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

visitArray

R visitArray(ArrayType t,
             P p)

Посещает тип массива.

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

visitDeclared

R visitDeclared(DeclaredType t,
                P p)

Посещает объявленный тип.

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

visitError

R visitError(ErrorType t,
             P p)

Посещает тип ошибки.

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

visitTypeVariable

R visitTypeVariable(TypeVariable t,
                    P p)

Посещает переменную типа.

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

visitWildcard

R visitWildcard(WildcardType t,
                P p)

Посещает тип с подстановкой.

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

visitExecutable

R visitExecutable(ExecutableType t,
                  P p)

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

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

visitNoType

R visitNoType(NoType t,
              P p)

Посещает экземпляр NoType.

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

visitUnknown

R visitUnknown(TypeMirror t,
               P p)

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

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

visitUnion

R visitUnion(UnionType t,
             P p)

Посещает объединение типов.

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

visitIntersection

R visitIntersection(IntersectionType t,
                    P p)

Посещает пересекающийся тип.

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

© 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