Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface Elements
Примечание совместимости: Методы могут быть добавлены к этому интерфейсу в будущих выпусках платформы.
ProcessingEnvironment.getElementUtils()
Модификатор и Тип | Метод и Описание |
---|---|
List<? extends AnnotationMirror> |
getAllAnnotationMirrors(Element e)
Возвраты все аннотации элемента, или наследованный или непосредственно существующий.
|
List<? extends Element> |
getAllMembers(TypeElement type)
Возвраты все элементы элемента типа, или наследованный или объявленный непосредственно.
|
Имя |
getBinaryName(TypeElement type)
Возвращает двоичное имя элемента типа.
|
Строка |
getConstantExpression(Object value)
Возвращает текст константного выражения, представляющего примитивное значение или строку.
|
Строка |
getDocComment(Element e)
Возвращает текст документации ("Javadoc") комментарий элемента.
|
Map<? extends ExecutableElement,? extends AnnotationValue> |
getElementValuesWithDefaults(AnnotationMirror a)
Возвращает значения элементов аннотации, включая значения по умолчанию.
|
Имя |
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)
Возвраты
true если элемент осуждается, false иначе. |
boolean |
overrides(ExecutableElement overrider, ExecutableElement overridden, TypeElement type)
Тесты, переопределяет ли один метод, как элемент данного типа, другой метод.
|
void |
printElements(Writer w, Element... elements)
Печатает представление элементов данному писателю в указанном порядке.
|
PackageElement getPackageElement(CharSequence name)
name
- полностью определенное имя пакета, или "" для неназванного пакетаnull
если это не может быть найденоTypeElement getTypeElement(CharSequence name)
name
- каноническое имяnull
если это не может быть найденоMap<? extends ExecutableElement,? extends AnnotationValue> getElementValuesWithDefaults(AnnotationMirror a)
a
- аннотация, чтобы исследоватьAnnotationMirror.getElementValues()
String getDocComment(Element e)
Комментарий для документации элемента является комментарием, который начинается"/**
", концы с отдельным"*/
", и сразу предшествует элементу, игнорируя пробел. Поэтому, комментарий для документации содержит по крайней мере три"*
"символы. Текст, возвращенный для комментария для документации, является обработанной формой комментария, как это появляется в исходном коде. Продвижение"/**
"и запаздывание"*/
"удаляются. Для строк комментария, запускающегося после начальной буквы"/**
", ведущие пробельные символы отбрасываются, как любой последовательный"*
"символы, появляющиеся после пробела или начинающие строку. Обработанные строки тогда связываются вместе (включая разделители строки) и возвращаются.
e
- исследуемый элементnull
если нет ни одногоboolean isDeprecated(Element e)
true
если элемент осуждается, false
иначе.e
- исследуемый элементtrue
если элемент осуждается, false
иначеName getBinaryName(TypeElement type)
type
- исследуемый элемент типаTypeElement.getQualifiedName()
PackageElement getPackageOf(Element type)
type
- исследуемый элементList<? extends Element> getAllMembers(TypeElement type)
Отметьте, что элементы определенных видов могут быть изолированы, используя методы в ElementFilter
.
type
- исследуемый типElement.getEnclosedElements()
List<? extends AnnotationMirror> getAllAnnotationMirrors(Element e)
e
- исследуемый элементElement.getAnnotationMirrors()
boolean hides(Element hider, Element hidden)
hider
- первый элементhidden
- второй элементtrue
если и только если первый элемент скрывает второе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
если и только если первый метод переопределяет второеString getConstantExpression(Object value)
value
- примитивное значение или строкаIllegalArgumentException
- если параметром не является примитивное значение или строкаVariableElement.getConstantValue()
void printElements(Writer w, Element... elements)
w
- писатель, чтобы напечатать вывод кelements
- элементы, чтобы напечататьName getName(CharSequence cs)
cs
- символьная последовательность, чтобы возвратиться как имя
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.