|
JavaTM 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 - 完全限定的包名称;对于未命名的包,该参数为 ""
nullTypeElement getTypeElement(CharSequence name)
name - 规范名称
nullMap<? extends ExecutableElement,? extends AnnotationValue> getElementValuesWithDefaults(AnnotationMirror a)
a - 要检查的注释
AnnotationMirror.getElementValues()String getDocComment(Element e)
e - 将被检查的元素
nullboolean isDeprecated(Element e)
true,否则返回 false。
e - 将被检查的元素
true,否则返回 falseName 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 - 第一个方法是其成员的类型
trueString getConstantExpression(Object value)
value - 基本值或字符串
IllegalArgumentException - 如果参数不是基本值或字符串VariableElement.getConstantValue()
void printElements(Writer w,
Element... elements)
w - 输出打印到的 writerelements - 要打印的元素Name getName(CharSequence cs)
cs - 将以名称形式返回的字符序列
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。