Интерфейс 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() |
Возвращает формальные параметры типа этого элемента класса или интерфейса в порядке объявления. |
Методы, объявленные в интерфейсе Element
accept, equals, getAnnotation, getAnnotationMirrors, getAnnotationsByType, getKind, getModifiers, hashCode
Подробное описание методов
asType
TypeMirror asType()
Обобщенный элемент определяет семейство типов, а не только один тип. Если это обобщенный элемент, возвращается прототипный тип, в котором для элемента используется вызов с переменными типа, соответствующими его собственным формальным параметрам типа. Например, для элемента обобщенного класса C<N extends Number> возвращается параметризованный тип C<N>. В противном случае, для необобщенного класса или интерфейса зеркало прототипного типа соответствует использованию типа. Ни один из компонентов прототипного типа не аннотирован, включая сам прототипный тип.
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 Полные и канонические имена
- См. также:
getSimpleName
Name getSimpleName()
- Определено в:
-
getSimpleNameв интерфейсеElement - Возвращает:
- простое имя этого класса или интерфейса; для анонимного класса — пустое имя
- См. также:
getSuperclass
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()
- Требования к реализации:
- Реализации этого метода по умолчанию возвращают пустой неизменяемый список.
- Возвращает:
- разрешенные классы или пустой список, если их нет
- См. Спецификацию языка Java:
- 8.1.6 Разрешенные непосредственные подклассы
9.1.4 Разрешенные непосредственные подклассы и подинтерфейсы
- Начиная с:
- 17
getEnclosingElement
Element getEnclosingElement()
- Определено в:
-
getEnclosingElementв интерфейсеElement - Возвращает:
- пакет класса или интерфейса верхнего уровня либо непосредственно охватывающий в лексическом смысле элемент для вложенного класса или интерфейса
- См. также:
© 1993, 2025, 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/25/docs/api/java.compiler/javax/lang/model/element/TypeElement.html