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 | 
isFunctionalInterface(TypeElement type)
この型要素が関数型インタフェースである場合は 
trueを返し、そうでない場合はfalseを返します。 | 
boolean | 
overrides(ExecutableElement overrider, ExecutableElement overridden, TypeElement type)
指定された型のメンバーであるメソッドが別のメソッドをオーバーライドするかどうかをテストします。 
 | 
void | 
printElements(Writer w, Element... elements)
要素の表現を、指定された順序で、指定されたライターに出力します。 
 | 
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)
 要素のドキュメンテーション・コメントは、「/**」で始まり、個別の「*/」で終わるコメントであり、要素の直前に配置され、空白は無視されます。したがって、ドキュメンテーション・コメントには、少なくとも3つの"*"文字が含まれます。ドキュメンテーション・コメントで返されるテキストは、ソース・コードに表示されたとおりに処理された形式のコメントです。先頭の「/**」と末尾の「*/」は削除されます。コメントの行が最初の"/**"のあとに始まる場合、先行する空白文字は破棄されます。連続した"*"文字が空白のあとに現れる場合や、これらの文字から行が始まるも場合も、同様に破棄されます。その後、処理された行は連結され(改行文字を含む)、返されます。
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(), AnnotatedConstructboolean hides(Element hider, Element hidden)
hider - 先頭の要素hidden - 2番目の要素trueboolean overrides(ExecutableElement overrider, ExecutableElement overridden, TypeElement type)
 もっとも単純で一般的な使用法では、typeパラメータの値は、メソッドをオーバーライドする可能性のあるoverriderを直接囲むクラスまたはインタフェースになります。たとえば、m1がメソッドString.hashCodeを表し、m2がメソッドObject.hashCodeを表すとします。Stringクラス内でm1がm2をオーバーライドするかどうかを次のように調べることができます。実際はオーバーライドします。
 
 assert elements.overrides(m1, m2, elements.getTypeElement("java.lang.String")); 
 
 さらに興味深いケースとして、次の例があります。型Aのメソッドは同じように名前を付けられた型Bのメソッドをオーバーライドしません。
 ただし、3番目の型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 - オーバーライドされる可能性がある2番目のメソッドtype - メンバーである先頭のメソッドの型trueString 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 バグまたは機能を送信 
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
 Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.