Spec-Zone.ru › OpenJDK 17

Интерфейс TypeElement

Все суперинтерфейсы:
AnnotatedConstruct, Element, Parameterizable, QualifiedNameable
public interface TypeElement extends Element, Parameterizable, QualifiedNameable
Представляет элемент программы – класс или интерфейс. Обеспечивает доступ к информации о классе или интерфейсе и его членах. Обратите внимание, что перечисление (enum) и запись (record) являются специализированными видами классов, а аннотационный интерфейс – специализированным видом интерфейса.

В то время как TypeElement представляет собой элемент класса или интерфейса, DeclaredType представляет собой тип класса или интерфейса, последний является использованием (или вызовом) первого. Различие наиболее очевидно для обобщённых типов, для которых один элемент может определять целое семейство типов. Например, элемент java.util.Set соответствует параметризованным типам java.util.Set<String> и java.util.Set<Number> (и многим другим), а также необработанному типу java.util.Set.

Каждый метод этого интерфейса, возвращающий список элементов, возвращает их в порядке, естественном для исходного источника информации о программе. Например, если исходный источник информации – код Java, то элементы будут возвращены в порядке исходного кода.

С:
1.6
См. также:
  • DeclaredType

Краткое описание методов

Модификатор и тип Метод Описание
TypeMirror asType()
Возвращает тип, определяемый этим элементом класса или интерфейса, возвращая прототипический тип для элемента, представляющего обобщённый тип.
List<? extends Element> getEnclosedElements()
Возвращает поля, методы, конструкторы, компоненты записей и вложенные классы и интерфейсы, непосредственно объявленные в этом классе или интерфейсе.
Element getEnclosingElement()
Возвращает пакет верхнего уровня класса или интерфейса и возвращает непосредственно вложенный элемент для вложенного класса или интерфейса.
List<? extends TypeMirror> getInterfaces()
Возвращает типы интерфейсов, непосредственно реализуемые этим классом или расширяемые этим интерфейсом.
NestingKind getNestingKind()
Возвращает вид вложения этого элемента класса или интерфейса.
default List<? extends TypeMirror> getPermittedSubclasses()
Возвращает разрешенные классы этого элемента класса или интерфейса в порядке объявления.
Name getQualifiedName()
Возвращает полное квалифицированное имя этого элемента класса или интерфейса.
default List<? extends RecordComponentElement> getRecordComponents()
Возвращает компоненты записей этого элемента класса или интерфейса в порядке объявления.
Name getSimpleName()
Возвращает простое имя этого элемента класса или интерфейса.
TypeMirror getSuperclass()
Возвращает непосредственный суперкласс этого элемента класса или интерфейса.
List<? extends TypeParameterElement> getTypeParameters()
Возвращает формальные параметры типа этого элемента класса или интерфейса в порядке объявления.

Методы, объявленные в интерфейсе 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
Возвращает:
тип, определенный этим элементом типа
См. также:
  • Types.asMemberOf(DeclaredType, Element)
  • Types.getDeclaredType(TypeElement, TypeMirror...)

getEnclosedElements

List<? extends Element> getEnclosedElements()
Возвращает поля, методы, конструкторы, компоненты записи и внутренние классы и интерфейсы, которые напрямую объявлены в этом классе или интерфейсе. Это включает все обязательные элементы, такие как (явный) конструктор по умолчанию и неявные values и valueOf методы перечисления.
Определено в:
getEnclosedElements в интерфейсе Element
Примечание API:
В качестве конкретного примера общих требований к точности и поведения упорядочения, требуемого от данного интерфейса, список вложенных элементов будет возвращаться в естественном порядке для исходного источника информации о классе или интерфейсе. Например, если информация о классе или интерфейсе поступает из исходного файла, элементы будут возвращаться в порядке исходного кода. (Однако в этом случае порядок неявных элементов, таких как конструкторы по умолчанию, не определен.)
Возвращает:
вложенные элементы в правильном порядке или пустой список, если их нет
См. Спецификацию языка Java:
8.8.9 Конструктор по умолчанию
8.9.3 Члены перечисления
См. также:
  • getEnclosedElements()
  • PackageElement.getEnclosedElements()
  • ModuleElement.getEnclosedElements()
  • Elements.getAllMembers(javax.lang.model.element.TypeElement)

getNestingKind

NestingKind getNestingKind()
Возвращает тип вложенности этого элемента класса или интерфейса.
Возвращает:
тип вложенности этого элемента класса или интерфейса

getQualifiedName

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

Имя обобщенного класса или интерфейса не включает ссылку на его формальные параметры типа. Например, полное имя интерфейса java.util.Set<E> - это "java.util.Set". Вложенные классы и интерфейсы используют "." в качестве разделителя, как в "java.util.Map.Entry".

Определено в:
getQualifiedName в интерфейсе QualifiedNameable
Возвращает:
полное имя этого класса или интерфейса или пустое имя, если нет
См. Спецификацию языка Java:
6.7 Полные имена и канонические имена
См. также:
  • Elements.getBinaryName(javax.lang.model.element.TypeElement)

getSimpleName

Name getSimpleName()
Возвращает простое имя этого элемента класса или интерфейса. Для анонимного класса возвращается пустое имя.
Определено в:
getSimpleName в интерфейсе Element
Возвращает:
простое имя этого класса или интерфейса, пустое имя для анонимного класса
См. также:
  • PackageElement.getSimpleName()
  • ExecutableElement.getSimpleName()
  • getSimpleName()
  • VariableElement.getSimpleName()
  • ModuleElement.getSimpleName()
  • RecordComponentElement.getSimpleName()

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
Возвращает:
пакет верхнего уровня класса или интерфейса, непосредственно вложенный элемент для вложенного класса или интерфейса
См. также:
  • Elements.getPackageOf(javax.lang.model.element.Element)

© 1993, 2021, 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/17/docs/api/java.compiler/javax/lang/model/element/TypeElement.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API