Интерфейс 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() |
Возвращает формальные параметры типа этого элемента класса или интерфейса в порядке объявления. |
Методы, объявленные в интерфейсе javax.lang.model.element.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://download.java.net/java/early_access/jdk24/docs/api/java.compiler/javax/lang/model/element/TypeElement.html