Элементы интерфейса
public interface Elements
Утилитарные методы для работы с элементами программы.
Примечание по совместимости: В будущих выпусках платформы в этот интерфейс могут быть добавлены методы.
- С момента:
- 1.6
- См. также:
ProcessingEnvironment.getElementUtils()
Методы
| Модификатор и тип | Метод и описание |
|---|---|
List<? extends AnnotationMirror> |
getAllAnnotationMirrors(Element e) Возвращает все аннотации, присутствующие на элементе, независимо от того, присутствуют они напрямую или через наследование. |
List<? extends Element> |
getAllMembers(TypeElement type) Возвращает всех членов элемента типа, унаследованные или объявленные напрямую. |
Name |
getBinaryName(TypeElement type) Возвращает бинарное имя элемента типа. |
String |
getConstantExpression(Object value) Возвращает текст константного выражения, представляющего примитивное значение или строку. |
String |
getDocComment(Element e) Возвращает текст комментария документации ("Javadoc") элемента. |
Map<? extends ExecutableElement,? extends AnnotationValue> |
getElementValuesWithDefaults(AnnotationMirror a) Возвращает значения элементов аннотации, включая значения по умолчанию. |
Name |
getName(CharSequence cs) Возвращает имя с той же последовательностью символов, что и аргумент. |
PackageElement |
getPackageElement(CharSequence name) Возвращает пакет по его полному имени. |
PackageElement |
getPackageOf(Element type) Возвращает пакет элемента. |
TypeElement |
getTypeElement(CharSequence name) Возвращает элемент типа по его каноническому имени. |
boolean |
hides(Element hider,
Element hidden) Проверяет, скрывает ли один тип, метод или поле другой. |
boolean |
isDeprecated(Element e) Возвращает |
boolean |
isFunctionalInterface(TypeElement type) Возвращает |
boolean |
overrides(ExecutableElement overrider,
ExecutableElement overridden,
TypeElement type) Проверяет, переопределяет ли один метод, как член данного типа, другой метод. |
void |
printElements(Writer w,
Element... elements) Выводит представление элементов в заданный писатель в указанном порядке. |
Методы
getPackageElement
PackageElement getPackageElement(CharSequence name)
Возвращает пакет по его полному имени.
- Параметры:
-
name- полное имя пакета или "" для безымянного пакета - Возвращает:
- названный пакет или
nullв случае отсутствия
getTypeElement
TypeElement getTypeElement(CharSequence name)
Возвращает элемент типа по его каноническому имени.
- Параметры:
-
name- каноническое имя - Возвращает:
- элемент типа по имени или
nullв случае отсутствия
getElementValuesWithDefaults
Map<? extends ExecutableElement,? extends AnnotationValue> getElementValuesWithDefaults(AnnotationMirror a)
Возвращает значения элементов аннотации, включая значения по умолчанию.
- Параметры:
-
a- аннотация для проверки - Возвращает:
- значения элементов аннотации, включая значения по умолчанию
- См. также:
AnnotationMirror.getElementValues()
getDocComment
String getDocComment(Element e)
Возвращает текст документационного комментария ("Javadoc") элемента.
Документационный комментарий элемента — это комментарий, начинающийся с "/**", заканчивающийся отдельным "*/", и непосредственно предшествующий элементу, игнорируя пробелы. Поэтому документационный комментарий содержит как минимум три "*" символа. Возвращаемый текст документационного комментария — это обработанная форма комментария, как он отображается в исходном коде. Ведущие "/**" и заключительные "*/" удаляются. Для строк комментария, начинающихся после начального "/**", ведущие пробельные символы отбрасываются, как и любые последовательные "*" символы, встречающиеся после пробела или в начале строки. Обработанные строки затем конкатенируются вместе (включая разделители строк) и возвращаются.
- Параметры:
-
e- проверяемый элемент - Возвращает:
- документационный комментарий элемента или
nullв случае отсутствия
isDeprecated
boolean isDeprecated(Element e)
Возвращает true если элемент устарел, false в противном случае.
- Параметры:
-
e- проверяемый элемент - Возвращает:
-
trueесли элемент устарел,falseв противном случае
getBinaryName
Name getBinaryName(TypeElement type)
Возвращает бинарное имя элемента типа.
- Параметры:
-
type- проверяемый элемент типа - Возвращает:
- бинарное имя
- См. также:
TypeElement.getQualifiedName()
getPackageOf
PackageElement getPackageOf(Element type)
Возвращает пакет элемента. Пакет пакета — это сам пакет.
- Параметры:
-
type- проверяемый элемент - Возвращает:
- пакет элемента
getAllMembers
List<? extends Element> getAllMembers(TypeElement type)
Возвращает все члены элемента типа, унаследованные или объявленные непосредственно. Для класса результат также включает его конструкторы, но не локальные или анонимные классы.
Обратите внимание, что элементы определённых типов могут быть выделены с помощью методов в ElementFilter.
- Параметры:
-
type- проверяемый тип - Возвращает:
- все члены типа
- См. также:
Element.getEnclosedElements()
getAllAnnotationMirrors
List<? extends AnnotationMirror> getAllAnnotationMirrors(Element e)
Возвращает все аннотации, присутствующие на элементе, присутствующие напрямую или через наследование.
- Параметры:
-
e- проверяемый элемент - Возвращает:
- все аннотации элемента
- См. также:
-
Element.getAnnotationMirrors(),AnnotatedConstruct
hides
boolean hides(Element hider,
Element hidden) Проверяет, скрывает ли один тип, метод или поле другой.
- Параметры:
-
hider- первый элемент -
hidden- второй элемент - Возвращает:
-
trueтогда и только тогда, когда первый элемент скрывает второй
overrides
boolean overrides(ExecutableElement overrider,
ExecutableElement overridden,
TypeElement type) Проверяет, переопределяет ли один метод, как член данного типа, другой метод. Когда неабстрактный метод переопределяет абстрактный, первый также называется реализующим последний.
В простейшем и наиболее типичном использовании значение параметра type будет просто классом или интерфейсом, непосредственно содержащим overrider (возможно переопределяющий метод). Например, предположим, что m1 представляет метод String.hashCode и m2 представляет Object.hashCode. Тогда мы можем спросить, переопределяет ли m1 метод m2 в классе String (да):
assert elements.overrides(m1, m2, elements.getTypeElement("java.lang.String")); Более интересный случай можно проиллюстрировать на следующем примере, в котором метод в типе A не переопределяет метод с таким же именем в типе B: class A { public void m() {} } interface B { void m(); } ... m1 = ...; // A.m m2 = ...; // B.m assert ! elements.overrides(m1, m2, elements.getTypeElement("A")); Однако, рассматривая его как член третьего типа C, метод в A переопределяет метод в B: class C extends A implements B {} ... assert elements.overrides(m1, m2, elements.getTypeElement("C"));
- Параметры:
-
overrider- первый метод, возможный переопределяемый -
overridden- второй метод, возможно переопределяемый -
type- тип, членом которого является первый метод - Возвращает:
-
trueтогда и только тогда, когда первый метод переопределяет второй
getConstantExpression
String getConstantExpression(Object value)
Возвращает текст константного выражения, представляющего примитивное значение или строку. Возвращаемый текст имеет формат, подходящий для представления значения в исходном коде.
- Параметры:
-
value- примитивное значение или строка - Возвращает:
- текст константного выражения
- Исключения:
-
IllegalArgumentException- если аргумент не является примитивным значением или строкой - См. также:
VariableElement.getConstantValue()
printElements
void printElements(Writer w,
Element... elements) Выводит представление элементов в указанный поток в заданном порядке. Основное назначение этого метода — диагностика. Точный формат вывода не задан и может изменяться.
- Параметры:
-
w- поток для вывода -
elements- элементы для вывода
getName
Name getName(CharSequence cs)
Возвращает имя с той же последовательностью символов, что и аргумент.
- Параметры:
-
cs- последовательность символов, которая должна быть возвращена как имя - Возвращает:
- имя с той же последовательностью символов, что и аргумент
isFunctionalInterface
boolean isFunctionalInterface(TypeElement type)
Возвращает true если элемент типа — функциональный интерфейс, false в противном случае.
- Параметры:
-
type- проверяемый элемент типа - Возвращает:
-
trueесли элемент является функциональным интерфейсом,falseв противном случае - С:
- 1.8
© 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.