Интерфейс TypeElement
- Все суперинтерфейсы:
-
AnnotatedConstruct,Element,Parameterizable,QualifiedNameable
public interface TypeElement extends Element, Parameterizable, QualifiedNameable
Представляет элемент программы — класс или интерфейс. Предоставляет доступ к информации о типе и его членах. Обратите внимание, что перечисление (enum) — это вид класса, а тип аннотации — вид интерфейса.
Хотя TypeElement представляет собой элемент класса или интерфейса, DeclaredType представляет собой тип класса или интерфейса, при этом последний является использованием (или вызовом) первого. Различие наиболее очевидно с дженериками, для которых один элемент может определять целое семейство типов. Например, элемент java.util.Set соответствует параметризованным типам java.util.Set<String> и java.util.Set<Number> (и многим другим), а также непараметризованному типу java.util.Set.
Каждый метод этого интерфейса, возвращающий список элементов, возвращает их в порядке, естественном для основного источника информации о программе. Например, если основным источником информации является исходный код Java, то элементы будут возвращены в порядке исходного кода.
- С момента:
- 1.6
- См. также:
DeclaredType
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
List<? extends Element> |
getEnclosedElements() |
Возвращает поля, методы, конструкторы и типы членов, которые непосредственно объявлены в этом классе или интерфейсе. |
Element |
getEnclosingElement() |
Возвращает пакет верхнего уровня типа и возвращает непосредственно охватывающий элемент для вложенного типа. |
List<? extends TypeMirror> |
getInterfaces() |
Возвращает типы интерфейсов, непосредственно реализованные этим классом или расширенные этим интерфейсом. |
NestingKind |
getNestingKind() |
Возвращает вид вложения этого элемента типа. |
Name |
getQualifiedName() |
Возвращает полное имя этого элемента типа. |
Name |
getSimpleName() |
Возвращает простое имя этого элемента типа. |
TypeMirror |
getSuperclass() |
Возвращает непосредственный суперкласс этого элемента типа. |
List<? extends TypeParameterElement> |
getTypeParameters() |
Возвращает формальные параметры типа этого элемента типа в порядке объявления. |
Методы, объявленные в интерфейсе javax.lang.model.AnnotatedConstruct
getAnnotationsByType
Методы, объявленные в интерфейсе javax.lang.model.element.Element
accept, asType, equals, getAnnotation, getAnnotationMirrors, getKind, getModifiers, hashCode
Методы
getEnclosedElements
List<? extends Element> getEnclosedElements()
Возвращает поля, методы, конструкторы и типы членов, которые непосредственно объявлены в этом классе или интерфейсе. Это включает любые обязательные элементы, такие как (явный) конструктор по умолчанию и неявные values и valueOf методы типа перечисления.
- Определено в:
-
getEnclosedElementsв интерфейсеElement - Примечание API:
- В качестве конкретного примера общих требований к точности и поведения упорядочивания, требуемых от этого интерфейса, список вложенных элементов возвращается в естественном порядке для исходного источника информации о типе. Например, если информация о типе происходит из исходного файла, элементы возвращаются в порядке исходного кода. (Однако в этом случае порядок неявно объявленных элементов, таких как конструкторы по умолчанию, не указан.)
- Возвращает:
- вложенные элементы в правильном порядке или пустой список, если их нет
- См. также:
-
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 - Возвращает:
- полное имя этого класса или интерфейса или пустое имя, если такового нет
- См. также:
Elements.getBinaryName(javax.lang.model.element.TypeElement)
getSimpleName
Name getSimpleName()
Возвращает простое имя этого элемента типа. Для анонимного класса возвращается пустое имя.
- Определено в:
-
getSimpleNameв интерфейсеElement - Возвращает:
- простое имя этого класса или интерфейса, пустое имя для анонимного класса
- См. также:
-
PackageElement.getSimpleName(),ExecutableElement.getSimpleName(),getSimpleName(),VariableElement.getSimpleName(),ModuleElement.getSimpleName()
getSuperclass
TypeMirror getSuperclass()
Возвращает непосредственный суперкласс этого элемента типа. Если этот элемент типа представляет собой интерфейс или класс java.lang.Object, то возвращается NoType с типом NONE.
- Возвращает:
- непосредственный суперкласс или
NoType, если его нет
getInterfaces
List<? extends TypeMirror> getInterfaces()
Возвращает типы интерфейсов, непосредственно реализованные этим классом или расширенные этим интерфейсом.
- Возвращает:
- типы интерфейсов, непосредственно реализованные этим классом или расширенные этим интерфейсом, или пустой список, если их нет
getTypeParameters
List<? extends TypeParameterElement> getTypeParameters()
Возвращает формальные параметры типа этого элемента типа в порядке объявления.
- Определено в:
-
getTypeParametersв интерфейсеParameterizable - Возвращает:
- формальные параметры типа или пустой список, если их нет
getEnclosingElement
Element getEnclosingElement()
Возвращает пакет верхнего уровня типа и возвращает непосредственно охватывающий элемент для вложенного типа.
- Определено в:
-
getEnclosingElementв интерфейсеElement - Возвращает:
- пакет верхнего уровня типа, непосредственно охватывающий элемент для вложенного типа
- См. также:
Elements.getPackageOf(javax.lang.model.element.Element)
© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.compiler/javax/lang/model/element/TypeElement.html