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)
要素の表現を、指定された順序で、指定されたライターに出力します。
|
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()boolean 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 - 名前として返される文字シーケンス バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.