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)
返回文档的文本(“文档”)元素的评论。
|
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
否则
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()
,
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
型方法说明:当作为三分之一型
C
,然而
成员,在class A { public void m() {} }
interface B { void m(); }
...
m1 = ...; // A.m
m2 = ...; // B.m
assert ! elements.overrides(m1, m2, elements.getTypeElement("A"));
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.