©
This document uses PHP Chinese website manual Release
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
public interface Elements
用来对程序元素进行操作的实用工具方法。
兼容性注意事项: 在将来的平台版本中可能会向此接口添加一些方法。
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)
如果元素已过时,则返回 true ,否则返回 false 。 |
boolean |
overrides(ExecutableElement overrider,
ExecutableElement overridden,
TypeElement type)
测试一个方法(作为给定类型的成员)是否重写了另一个方法。 |
void |
printElements(Writer w,
Element... elements)
按指定顺序将元素的表示形式打印到给定 writer。 |
方法详细信息 |
---|
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
是否重写了 String
类中的 m2
(它的确重写了该方法):
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
- 第一个方法,可能是 overrideroverridden
- 第二个方法,可能被重写type
- 第一个方法是其成员的类型
true
String getConstantExpression(Object value)
value
- 基本值或字符串
IllegalArgumentException
- 如果参数不是基本值或字符串VariableElement.getConstantValue()
void printElements(Writer w, Element... elements)
w
- 输出打印到的 writerelements
- 要打印的元素Name getName(CharSequence cs)
cs
- 将以名称形式返回的字符序列
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。