Интерфейс TypeElement
- Все суперинтерфейсы:
-
AnnotatedConstruct,Element,Parameterizable,QualifiedNameable
public interface TypeElement extends Element, Parameterizable, QualifiedNameable
В то время как TypeElement представляет элемент класса или интерфейса, DeclaredType представляет тип класса или интерфейса, при этом последний представляет собой использование (или вызов) первого. Различие наиболее очевидно для обобщенных типов, для которых один элемент может определять целое семейство типов. Например, элемент java.util.Set соответствует параметризованным типам java.util.Set<String> и java.util.Set<Number> (и многим другим), а также обычному типу java.util.Set.
Каждый метод этого интерфейса, возвращающий список элементов, возвращает их в порядке, естественном для основного источника информации о программе. Например, если основным источником информации является исходный код Java, то элементы будут возвращаться в порядке исходного кода.
- Примечание API:
- Представленный класс или интерфейс может иметь представление ссылки (исходный код или исполняемый результат). Несколько классов и интерфейсов могут использовать одно и то же представление ссылки, поддерживающее конструкцию. Например, несколько классов и интерфейсов могут быть объявлены в одном исходном файле, включая, но не ограничиваясь:
- класс или интерфейс верхнего уровня и вспомогательные классы и интерфейсы
- класс или интерфейс верхнего уровня и вложенные классы и интерфейсы внутри него
В контексте обработки аннотаций элемент типа может быть:
- создан из начальных входных данных для запуска инструмента
- создан из исходного кода или файлов классов, созданных процессором
- запрошен в настроенной среде
- С:
- 1.6
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
TypeMirror |
asType() |
Возвращает тип, определенный этим элементом класса или интерфейса, возвращая прототип типа для элемента, представляющего обобщенный тип. |
List |
getEnclosedElements() |
Возвращает поля, методы, конструкторы, компоненты записей, а также вложенные классы и интерфейсы, непосредственно объявленные в этом классе или интерфейсе. |
Element |
getEnclosingElement() |
Возвращает пакет класса или интерфейса верхнего уровня и возвращает непосредственно окружающий по лексикону элемент для вложенного класса или интерфейса. |
List |
getInterfaces() |
Возвращает типы интерфейсов, напрямую реализованные этим классом или расширенные этим интерфейсом. |
NestingKind |
getNestingKind() |
Возвращает тип вложения этого элемента класса или интерфейса. |
default List |
getPermittedSubclasses() |
Возвращает разрешенные классы этого элемента класса или интерфейса в порядке объявления. |
Name |
getQualifiedName() |
Возвращает полное имя этого элемента класса или интерфейса. |
default List |
getRecordComponents() |
Возвращает компоненты записи этого элемента класса или интерфейса в порядке объявления. |
Name |
getSimpleName() |
Возвращает простое имя этого элемента класса или интерфейса. |
TypeMirror |
getSuperclass() |
Возвращает непосредственный суперкласс этого элемента класса или интерфейса. |
List |
getTypeParameters() |
Возвращает формальные параметры типа этого элемента класса или интерфейса в порядке объявления. |
default boolean |
isUnnamed() |
Предварительный просмотр. Возвращает true, если это безымянный класс, и
false в противном случае. |
Методы, объявленные в интерфейсе javax.lang.model.element.Element
accept, equals, getAnnotation, getAnnotationMirrors, getAnnotationsByType, getKind, getModifiers, hashCode
Подробное описание методов
asType
TypeMirror asType()
Обобщённый элемент определяет семейство типов, а не только один. Если это обобщённый элемент, возвращается прототип типа, который имеет вызов элемента на переменных типа, соответствующих его собственным формальным параметрам типа. Например, для обобщённого элемента класса C<N extends Number>, возвращается параметризованный тип C<N>. Интерфейс-утилита Types содержит более общие методы для получения полного набора типов, определённых элементом.
- Определено в:
-
asTypeв интерфейсеElement - Возвращает:
- тип, определённый этим элементом типа
- См. также:
getEnclosedElements
List<? extends Element> getEnclosedElements()
values и valueOf методы класса перечисления.- Определено в:
-
getEnclosedElementsв интерфейсеElement - Примечание API:
- В качестве конкретного примера общих требований к точности и требуемого поведения упорядочивания этого интерфейса, список вложенных элементов возвращается в естественном порядке для исходного источника информации о классе или интерфейсе. Например, если информация о классе или интерфейсе получена из исходного файла, элементы будут возвращены в порядке исходного кода. (Однако в этом случае порядок неявно объявленных элементов, таких как конструкторы по умолчанию, не определён.)
- Возвращает:
- вложенные элементы в правильном порядке или пустой список, если их нет
- См. Спецификацию языка Java:
- 8.8.9 Конструктор по умолчанию
8.9.3 Элементы перечисления
8.10.3 Элементы записи
- См. также:
getNestingKind
NestingKind getNestingKind()
- Возвращает:
- тип вложенности этого элемента класса или интерфейса
getQualifiedName
Name getQualifiedName()
Имя обобщённого класса или интерфейса не включает никаких ссылок на его формальные параметры типа. Например, полное имя интерфейса java.util.Set<E> — "java.util.Set". Вложенные классы и интерфейсы используют «.» в качестве разделителя, как в «java.util.Map.Entry».
- Определено в:
-
getQualifiedNameв интерфейсеQualifiedNameable - Возвращает:
- полное имя этого класса или интерфейса или пустое имя, если его нет
- См. Спецификацию языка Java:
- 6.7 Полные и канонические имена
7.3 Единицы компиляции
- См. также:
getSimpleName
Name getSimpleName()
- Определено в:
-
getSimpleNameв интерфейсеElement - Возвращает:
- простое имя этого класса или интерфейса, пустое имя для анонимного класса
- См. также:
isUnnamed
default boolean isUnnamed()
isUnnamed — это превью-API платформы Java, доступное для рефлексии. true, если это безымянный класс, и
false в противном случае.- Требования к реализации:
- По умолчанию этот метод возвращает
false. - Возвращает:
-
trueесли это безымянный класс, иfalseв противном случае - См. Спецификацию языка Java:
- 7.3 Единицы компиляции
- С:
- 21
getSuperclass
TypeMirror getSuperclass()
java.lang.Object, то возвращается NoType с типом NONE.- Возвращает:
- непосредственный суперкласс или
NoTypeв случае отсутствия
getInterfaces
List<? extends TypeMirror> getInterfaces()
- Возвращает:
- типы интерфейсов, непосредственно реализованные этим классом или расширенные этим интерфейсом, или пустой список, если их нет
getTypeParameters
List<? extends TypeParameterElement> getTypeParameters()
- Определено в:
-
getTypeParametersв интерфейсеParameterizable - Возвращает:
- формальные параметры типа или пустой список, если их нет
getRecordComponents
default List<? extends RecordComponentElement> getRecordComponents()
- Требования к реализации:
- По умолчанию эта реализация возвращает пустой и неизменяемый список.
- Возвращает:
- компоненты записи или пустой список, если их нет
- С:
- 16
getPermittedSubclasses
default List<? extends TypeMirror> getPermittedSubclasses()
- Требования к реализации:
- По умолчанию эта реализация возвращает пустой и неизменяемый список.
- Возвращает:
- разрешенные классы или пустой список, если их нет
- С:
- 17
getEnclosingElement
Element getEnclosingElement()
- Определено в:
-
getEnclosingElementв интерфейсеElement - Возвращает:
- пакет верхнеуровневого класса или интерфейса, непосредственно содержащий элемент для вложенного класса или интерфейса
- См. также:
© 1993, 2023, 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/21/docs/api/java.compiler/javax/lang/model/element/TypeElement.html