| 
 | 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. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。