Spec-Zone.ru › OpenJDK 8

Интерфейс Элемент

Все суперинтерфейсы:
AnnotatedConstruct
Все известные подинтерфейсы:
ExecutableElement, PackageElement, Parameterizable, QualifiedNameable, TypeElement, TypeParameterElement, VariableElement

public interface Element
extends AnnotatedConstruct

Представляет элемент программы, такой как пакет, класс или метод. Каждый элемент представляет статическую конструкцию языка (а не, например, конструкцию среды выполнения виртуальной машины).

Элементы должны сравниваться с помощью метода equals(Object). Нет гарантии, что любой конкретный элемент всегда будет представлен одним и тем же объектом.

Для реализации операций, основанных на классе объекта Element, используйте либо посетителя visitor, либо результат метода getKind(). Использование instanceof не обязательно является надёжным способом определения эффективного класса объекта в этой модели иерархии, так как реализация может выбрать иметь один объект, реализующий несколько Element подинтерфейсов.

С момента:
1.6
См. также:
Elements, TypeMirror

Методы

Модификатор и Тип Метод и описание
<R,P> R accept(ElementVisitor<R,P> v, P p)

Применяет посетителя к этому элементу.

TypeMirror asType()

Возвращает тип, определённый этим элементом.

boolean equals(Object obj)

Возвращает true, если аргумент представляет тот же элемент, что и this, или false, в противном случае.

<A extends Annotation>
A
getAnnotation(Class<A> annotationType)

Возвращает аннотацию этого конструкта указанного типа, если такая аннотация присутствует, иначе null.

List<? extends AnnotationMirror> getAnnotationMirrors()

Возвращает аннотации, которые непосредственно присутствуют на этом конструкте.

List<? extends Element> getEnclosedElements()

Возвращает элементы, которые, грубо говоря, непосредственно содержатся этим элементом.

Element getEnclosingElement()

Возвращает самый внутренний элемент, в котором этот элемент, грубо говоря, заключён.

ElementKind getKind()

Возвращает kind этого элемента.

Set<Modifier> getModifiers()

Возвращает модификаторы этого элемента, исключая аннотации.

Name getSimpleName()

Возвращает простое (без квалификатора) имя этого элемента.

int hashCode()

Соблюдает общий контракт Object.hashCode.

Методы, унаследованные от интерфейса javax.lang.model.AnnotatedConstruct

getAnnotationsByType

Методы

asType

TypeMirror asType()

Возвращает тип, определённый этим элементом.

Общий элемент определяет семейство типов, а не только один. Если это общий элемент, возвращается прототипный тип. Это вызов элемента на переменных типа, соответствующих его собственным формальным параметрам типа. Например, для общего класса элемента C<N extends Number>, возвращается параметризованный тип C<N>. Интерфейс-утилита Types имеет более общие методы для получения полного диапазона типов, определённых элементом.

Возвращает:
тип, определённый этим элементом
См. также:
Types

getKind

ElementKind getKind()

Возвращает kind этого элемента.

Возвращает:
вид этого элемента

getModifiers

Set<Modifier> getModifiers()

Возвращает модификаторы этого элемента, исключая аннотации. Неявные модификаторы, такие как public и static модификаторы членов интерфейса, включаются.

Возвращает:
модификаторы элемента или пустой набор, если их нет

getSimpleName

Name getSimpleName()

Возвращает простое (неквалифицированное) имя этого элемента. Имя общего типа не включает никаких ссылок на его формальные параметры типа. Например, простое имя элемента типа java.util.Set<E> равно "Set". Если этот элемент представляет собой безымянный пакет, возвращается пустое имя. Если он представляет собой конструктор, возвращается имя «<init>». Если он представляет собой статический инициализатор, возвращается имя «<clinit>». Если он представляет собой анонимный класс или инициализатор экземпляра, возвращается пустое имя.

Возвращает:
простое имя этого элемента
См. также:
PackageElement.getSimpleName(), ExecutableElement.getSimpleName(), TypeElement.getSimpleName(), VariableElement.getSimpleName()

getEnclosingElement

Element getEnclosingElement()

Возвращает самый внутренний элемент, в котором этот элемент, грубо говоря, заключён.

  • Если этот элемент такой, объявление которого лексически заключено непосредственно внутри объявления другого элемента, возвращается этот другой элемент.
  • Если это тип верхнего уровня, возвращается его пакет.
  • Если это пакет, возвращается null.
  • Если это параметр типа, возвращается общий элемент параметра типа.
  • Если это параметр метода или конструктора, возвращается исполняемый элемент, который объявляет параметр.

Возвращает:
вложенный элемент или null , если его нет
См. также:
Elements.getPackageOf(javax.lang.model.element.Element)

getEnclosedElements

List<? extends Element> getEnclosedElements()

Возвращает элементы, которые, грубо говоря, непосредственно заключены в этот элемент. Класс или интерфейс считается заключающим поля, методы, конструкторы и типы-члены, которые он непосредственно объявляет. Пакет заключает классы и интерфейсы верхнего уровня внутри него, но не считается заключающим подпакеты. Другие виды элементов в настоящее время не считаются заключающими какие-либо элементы; однако это может измениться по мере развития этой API или языка программирования.

Обратите внимание, что элементы определённых видов можно изолировать с помощью методов в ElementFilter.

Возвращает:
вложенные элементы или пустой список, если их нет
См. также:
PackageElement.getEnclosedElements(), TypeElement.getEnclosedElements(), Elements.getAllMembers(javax.lang.model.element.TypeElement)

equals

boolean equals(Object obj)

Возвращает true , если аргумент представляет тот же элемент, что и this, или false в противном случае.

Обратите внимание, что идентичность элемента включает неявное состояние, не доступное напрямую из методов элемента, включая состояние о наличии несвязанных типов. Объекты элемента, созданные различными реализациями этих интерфейсов, не должны ожидаться равными, даже если «одинаковый» элемент моделируется; это аналогично неравенству объектов Class для одного и того же файла класса, загруженного через разные загрузчики классов.

Переопределяет:
equals в классе Object
Параметры:
obj - объект, подлежащий сравнению с этим элементом
Возвращает:
true , если указанный объект представляет тот же элемент, что и этот
См. также:
Object.hashCode(), HashMap

hashCode

int hashCode()

Следует общему соглашению Object.hashCode.

Переопределяет:
hashCode в классе Object
Возвращает:
значение хэш-кода для этого объекта.
См. также:
equals(java.lang.Object)

getAnnotationMirrors

List<? extends AnnotationMirror> getAnnotationMirrors()

Возвращает аннотации, которые непосредственно присутствуют на этом конструкте.

Чтобы получить также унаследованные аннотации, используйте getAllAnnotationMirrors.

Определено в:
getAnnotationMirrors в интерфейсе AnnotatedConstruct
Возвращает:
аннотации, непосредственно присутствующие на этом конструкте; пустой список, если их нет
С момента:
1.6

getAnnotation

<A extends Annotation> A getAnnotation(Class<A> annotationType)

Возвращает аннотацию этого конструкта указанного типа, если такая аннотация присутствует, иначе null.

Аннотация, возвращаемая этим методом, может содержать элемент, значение которого имеет тип Class. Это значение не может быть возвращено напрямую: информация, необходимая для поиска и загрузки класса (например, загрузчик классов, который нужно использовать), недоступна, и класс может быть вообще не загружаемым. Попытка прочитать объект Class путём вызова соответствующего метода на возвращённой аннотации приведёт к MirroredTypeException, из которого соответствующий TypeMirror может быть извлечён. Аналогично, попытка прочитать элемент со значением Class[] приведёт к MirroredTypesException.

Примечание: Этот метод отличается от других методов в этом и связанных интерфейсах. Он работает с информацией о времени выполнения – представлениями типов аннотаций, в настоящее время загруженными в виртуальную машину – а не с представлениями, определёнными и используемыми во всех этих интерфейсах. Вследствие этого вызов методов на объекте возвращаемой аннотации может вызвать многие исключения, которые могут быть вызваны при вызове методов на объекте аннотации, возвращаемом основной рефлексией. Этот метод предназначен для вызывающих сторон, написанных для работы с известным, фиксированным набором типов аннотаций.
Определено в:
getAnnotation в интерфейсе AnnotatedConstruct
Параметры типа:
A - тип аннотации
Параметры:
annotationType - объект Class , соответствующий типу аннотации
Возвращает:
аннотация этого конструкта для указанного типа аннотации, если присутствует, иначе null
С момента:
1.6
См. также:
AnnotatedConstruct.getAnnotationMirrors(), AnnotatedElement.getAnnotation(java.lang.Class<T>), EnumConstantNotPresentException, AnnotationTypeMismatchException, IncompleteAnnotationException, MirroredTypeException, MirroredTypesException

accept

<R,P> R accept(ElementVisitor<R,P> v,
               P p)

Применяет посетителя к этому элементу.

Параметры типа:
R - тип возвращаемого значения методов посетителя
P - тип дополнительного параметра методов посетителя
Параметры:
v - посетитель, работающий с этим элементом
p - дополнительный параметр посетителя
Возвращает:
результат, заданный посетителем

© 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.

Spec-Zone.ru

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