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
- 完全指定パッケージ名。名前のないパッケージの場合は ""null
TypeElement getTypeElement(CharSequence name)
name
- 正規名null
Map<? extends ExecutableElement,? extends AnnotationValue> getElementValuesWithDefaults(AnnotationMirror a)
a
- 調べる対象の注釈AnnotationMirror.getElementValues()
String getDocComment(Element e)
要素のドキュメンテーションコメントは、"/**
" で始まり、個別の "*/
" で終わるコメントであり、要素の直前に配置され、空白は無視されます。したがって、ドキュメンテーションコメントには、少なくとも 3 つの "*
" 文字が含まれます。ドキュメンテーションコメントで返されるテキストは、ソースコードに表示されたとおりに処理された形式のコメントです。先頭の "/**
" と末尾の "*/
" は削除されます。コメントの行が最初の "/**
" のあとに始まる場合、先行する空白文字は破棄されます。連続した "*
" 文字が空白のあとに現れる場合や、これらの文字から行が始まるも場合も、同様に破棄されます。その後、処理された行は連結され (改行文字を含む)、返されます。
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
- 2 番目の要素true
boolean 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
- メンバーである先頭のメソッドの型true
String 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.