Spec-Zone.ru › OpenJDK 8

Типы интерфейсов


public interface Types

Утилитарные методы для работы с типами.

Примечание по совместимости: Методы могут быть добавлены в этот интерфейс в будущих релизах платформы.

С момента:
1.6
См. также:
ProcessingEnvironment.getTypeUtils()

Методы

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

Возвращает элемент, соответствующий типу.

TypeMirror asMemberOf(DeclaredType containing, Element element)

Возвращает тип элемента, когда этот элемент рассматривается как член или иным образом непосредственно содержится заданным типом.

TypeElement boxedClass(PrimitiveType p)

Возвращает класс упакованного значения заданного примитивного типа.

TypeMirror capture(TypeMirror t)

Применяет преобразование захвата к типу.

boolean contains(TypeMirror t1, TypeMirror t2)

Проверяет, содержит ли один аргумент типа другой.

List<? extends TypeMirror> directSupertypes(TypeMirror t)

Возвращает непосредственные супертипы типа.

TypeMirror erasure(TypeMirror t)

Возвращает стирание типа.

ArrayType getArrayType(TypeMirror componentType)

Возвращает тип массива со специфицированным типом компонента.

DeclaredType getDeclaredType(DeclaredType containing, TypeElement typeElem, TypeMirror... typeArgs)

Возвращает тип, соответствующий элементу типа и фактическим аргументам типа, учитывая охватывающий тип, членом которого он является.

DeclaredType getDeclaredType(TypeElement typeElem, TypeMirror... typeArgs)

Возвращает тип, соответствующий элементу типа и фактическим аргументам типа.

NoType getNoType(TypeKind kind)

Возвращает псевдотип, используемый в тех случаях, когда не подходит фактический тип.

NullType getNullType()

Возвращает тип null.

PrimitiveType getPrimitiveType(TypeKind kind)

Возвращает примитивный тип.

WildcardType getWildcardType(TypeMirror extendsBound, TypeMirror superBound)

Возвращает новый аргумент типа подстановки.

boolean isAssignable(TypeMirror t1, TypeMirror t2)

Проверяет, может ли один тип быть присвоен другому.

boolean isSameType(TypeMirror t1, TypeMirror t2)

Проверяет, представляют ли два TypeMirror объекта один и тот же тип.

boolean isSubsignature(ExecutableType m1, ExecutableType m2)

Проверяет, является ли сигнатура одного метода подсигнатурой другого.

boolean isSubtype(TypeMirror t1, TypeMirror t2)

Проверяет, является ли один тип подтипом другого.

PrimitiveType unboxedType(TypeMirror t)

Возвращает тип (примитивный тип) распакованных значений заданного типа.

Методы

asElement

Element asElement(TypeMirror t)

Возвращает элемент, соответствующий типу. Тип может быть DeclaredType или TypeVariable. Возвращает null если тип не имеет соответствующего элемента.

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

isSameType

boolean isSameType(TypeMirror t1,
                   TypeMirror t2)

Проверяет, представляют ли два объекта TypeMirror один и тот же тип.

Осторожно: если какой-либо из аргументов этого метода представляет дикий символ, этот метод вернёт false. Вследствие этого, дикий символ не является тем же типом, что и сам. Это может показаться неожиданным, но имеет смысл, если учесть, что такой пример должен быть отклонен компилятором:

List<?> list = new ArrayList<Object>();
    list.add(list.get(0));

Поскольку аннотации являются лишь метаданными, связанными с типом, набор аннотаций ни в одном из аргументов не учитывается при вычислении того, являются ли два объекта TypeMirror одним и тем же типом. В частности, два объекта TypeMirror могут иметь разные аннотации и всё равно считаться одинаковыми.

Параметры:
t1 - первый тип
t2 - второй тип
Возвращает:
true тогда и только тогда, когда два типа идентичны

isSubtype

boolean isSubtype(TypeMirror t1,
                  TypeMirror t2)

Проверяет, является ли один тип подтипом другого. Любой тип считается подтипом самого себя.

Параметры:
t1 - первый тип
t2 - второй тип
Возвращает:
true тогда и только тогда, когда первый тип является подтипом второго
Выбрасывает:
IllegalArgumentException - если задан тип метода или пакет

isAssignable

boolean isAssignable(TypeMirror t1,
                     TypeMirror t2)

Проверяет, может ли один тип быть присвоен другому.

Параметры:
t1 - первый тип
t2 - второй тип
Возвращает:
true тогда и только тогда, когда первый тип может быть присвоен второму
Выбрасывает:
IllegalArgumentException - если задан тип метода или пакет

contains

boolean contains(TypeMirror t1,
                 TypeMirror t2)

Проверяет, содержит ли один тип аргумент другого.

Параметры:
t1 - первый тип
t2 - второй тип
Возвращает:
true тогда и только тогда, когда первый тип содержит второй
Выбрасывает:
IllegalArgumentException - если задан тип метода или пакет

isSubsignature

boolean isSubsignature(ExecutableType m1,
                       ExecutableType m2)

Проверяет, является ли сигнатура одного метода подсигнатурой другого.

Параметры:
m1 - первый метод
m2 - второй метод
Возвращает:
true тогда и только тогда, когда первая сигнатура является подсигнатурой второй

directSupertypes

List<? extends TypeMirror> directSupertypes(TypeMirror t)

Возвращает непосредственные типы-суперклассы типа. Типы интерфейсов (если таковые имеются) будут находиться в списке последними.

Параметры:
t - анализируемый тип
Возвращает:
непосредственные типы-суперклассы, или пустой список, если таких нет
Выбрасывает:
IllegalArgumentException - если задан тип метода или пакет

erasure

TypeMirror erasure(TypeMirror t)

Возвращает стёртый вид типа.

Параметры:
t - тип, который нужно стереть
Возвращает:
стёртый вид данного типа
Выбрасывает:
IllegalArgumentException - если задан тип пакета

boxedClass

TypeElement boxedClass(PrimitiveType p)

Возвращает класс упакованного значения данного примитивного типа. То есть, применяется преобразование упаковки.

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

unboxedType

PrimitiveType unboxedType(TypeMirror t)

Возвращает тип (примитивный тип) распакованных значений данного типа. То есть, применяется преобразование распаковки.

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

capture

TypeMirror capture(TypeMirror t)

Применяет преобразование захвата к типу.

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

getPrimitiveType

PrimitiveType getPrimitiveType(TypeKind kind)

Возвращает примитивный тип.

Параметры:
kind - вид примитивного типа, который нужно вернуть
Возвращает:
примитивный тип
Выбрасывает:
IllegalArgumentException - если kind не является примитивным видом

getNullType

NullType getNullType()

Возвращает тип null. Это тип null.

Возвращает:
тип null

getNoType

NoType getNoType(TypeKind kind)

Возвращает псевдотип, используемый, когда нет подходящего фактического типа. Вид возвращаемого типа может быть либо VOID, либо NONE. Для пакетов используйте Elements.getPackageElement(CharSequence).asType().

Параметры:
kind - вид возвращаемого типа
Возвращает:
псевдотип вида VOID или NONE
Выбрасывает:
IllegalArgumentException - если kind не является допустимым

getArrayType

ArrayType getArrayType(TypeMirror componentType)

Возвращает тип массива со специфицированным типом компонента.

Параметры:
componentType - тип компонента
Возвращает:
тип массива со специфицированным типом компонента.
Выбрасывает:
IllegalArgumentException - если тип компонента недопустим для массива

getWildcardType

WildcardType getWildcardType(TypeMirror extendsBound,
                             TypeMirror superBound)

Возвращает новый аргумент типа дикого символа. Любой из границ дикого символа может быть указан, или ни один, но не оба.

Параметры:
extendsBound - ограничение расширения (верхняя граница), или null если нет
superBound - ограничение супера (нижняя граница), или null если нет
Возвращает:
новый дикий символ
Выбрасывает:
IllegalArgumentException - если границы не допустимы

getDeclaredType

DeclaredType getDeclaredType(TypeElement typeElem,
                             TypeMirror... typeArgs)

Возвращает тип, соответствующий элементу типа и фактическим аргументам типа. Например, задав элемент типа для Set и тип зеркала для String, этот метод может быть использован для получения параметризованного типа Set<String>.

Количество аргументов типа должно либо равняться количеству формальных параметров типа элемента, либо быть нулевым. Если ноль, и если элемент типа является обобщённым, то возвращается тип-сырья элемента типа.

Если возвращается параметризованный тип, то элемент типа не должен находиться внутри обобщённого внешнего класса. Параметризованный тип Outer<String>.Inner<Number>, например, может быть построен, сначала используя этот метод для получения типа Outer<String>, а затем вызывая getDeclaredType(DeclaredType, TypeElement, TypeMirror...).

Параметры:
typeElem - элемент типа
typeArgs - фактические аргументы типа
Возвращает:
тип, соответствующий элементу типа и фактическим аргументам типа
Выбрасывает:
IllegalArgumentException - если дано слишком много или слишком мало аргументов типа, или если предоставлен неподходящий аргумент типа или элемент типа

getDeclaredType

DeclaredType getDeclaredType(DeclaredType containing,
                             TypeElement typeElem,
                             TypeMirror... typeArgs)

Возвращает тип, соответствующий элементу типа и фактическим аргументам типа, при заданном вложенном типе, членом которого он является. Параметризованный тип Outer<String>.Inner<Number>, например, может быть построен, сначала используя getDeclaredType(TypeElement, TypeMirror...) для получения типа Outer<String>, а затем вызывая этот метод.

Если вложенный тип является параметризованным типом, количество аргументов типа должно равняться количеству формальных параметров типа typeElem. Если он не является параметризованным или если это null, этот метод эквивалентен getDeclaredType(typeElem, typeArgs).

Параметры:
containing - вложенный тип, или null если нет
typeElem - элемент типа
typeArgs - фактические аргументы типа
Возвращает:
тип, соответствующий элементу типа и фактическим аргументам типа, вложенный в указанный тип
Выбрасывает:
IllegalArgumentException - если дано слишком много или слишком мало аргументов типа, или если предоставлен неподходящий аргумент типа, элемент типа или вложенный тип

asMemberOf

TypeMirror asMemberOf(DeclaredType containing,
                      Element element)

Возвращает тип элемента, когда этот элемент рассматривается как член или иначе непосредственно содержащийся в заданном типе. Например, при рассмотрении как члена параметризованного типа Set<String>, метод Set.add является методом ExecutableType, параметр которого имеет тип String.

Параметры:
containing - содержащий тип
element - элемент
Возвращает:
тип элемента, как он отображается в содержащем типе
Вызывает исключение:
IllegalArgumentException - если элемент не является допустимым для данного типа

© 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