public interface Elements
兼容性注意:在将来的平台版本中可能会添加到此界面中的方法。
ProcessingEnvironment.getElementUtils()
| Modifier and Type | Method and Description |
|---|---|
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)
返回
true如果元素已过时,
false其他。
|
boolean |
isFunctionalInterface(TypeElement type)
返回
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 false
Name getBinaryName(TypeElement type)
type - 正在检查的类型元素
TypeElement.getQualifiedName()
PackageElement getPackageOf(Element type)
type - 正在检查的元素
List<? extends Element> getAllMembers(TypeElement type)
type - 正在检查的类型
Element.getEnclosedElements()
List<? extends AnnotationMirror> getAllAnnotationMirrors(Element e)
e - 被检查的元素
Element.getAnnotationMirrors() , AnnotatedConstruct
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 - 作为名称返回的字符序列
boolean isFunctionalInterface(TypeElement type)
true如果类型元件是功能性的接口,
false否则。
type - 正在检查的类型元素
true如果元素是功能界面,
false否则
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.