public interface Elements
互換性に関する注: プラットフォームの将来のリリースでは、このインタフェースにメソッドが追加される可能性があります。
- 導入されたバージョン:
- 1.6
- 関連項目:
ProcessingEnvironment.getElementUtils()
-
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 インタフェース 説明 static classElements.Origin要素または他の言語モデル・アイテムのorigin。 -
メソッドのサマリー
修飾子と型 メソッド 説明 List<? extends AnnotationMirror>getAllAnnotationMirrors(Element e)直接存在しているか継承を介して存在しているかにかかわらず、要素に存在しているすべての注釈を返します。List<? extends Element>getAllMembers(TypeElement type)継承されているか直接宣言されているかにかかわらず、型要素のすべてのメンバーを返します。default Set<? extends ModuleElement>getAllModuleElements()現在の環境内のすべてのモジュール要素を返します。default Set<? extends PackageElement>getAllPackageElements(CharSequence name)指定された正規名を持つすべてのパッケージ要素を返します。default Set<? extends TypeElement>getAllTypeElements(CharSequence name)指定された正規名を持つすべての型要素を返します。NamegetBinaryName(TypeElement type)型要素のバイナリ名を返します。StringgetConstantExpression(Object value)プリミティブ値または文字列を表す定数式のテキストを返します。StringgetDocComment(Element e)要素のドキュメンテーション("Javadoc")コメントのテキストを返します。Map<? extends ExecutableElement,? extends AnnotationValue>getElementValuesWithDefaults(AnnotationMirror a)デフォルトを含む注釈の要素の値を返します。default ModuleElementgetModuleElement(CharSequence name)モジュール要素の完全修飾名を返します。default ModuleElementgetModuleOf(Element type)要素のモジュールを返します。NamegetName(CharSequence cs)引数と同じ文字シーケンスを持つ名前を返します。default Elements.OrigingetOrigin(AnnotatedConstruct c, AnnotationMirror a)指定された注釈ミラーのoriginを返します。default Elements.OrigingetOrigin(Element e)指定された要素のoriginを返します。default Elements.OrigingetOrigin(ModuleElement m, ModuleElement.Directive directive)与えられたモジュール・ディレクティブのoriginを返します。PackageElementgetPackageElement(CharSequence name)パッケージが環境内で一意である場合は、完全修飾名を指定してパッケージを返します。default PackageElementgetPackageElement(ModuleElement module, CharSequence name)指定されたモジュールから見た完全修飾名が与えられたパッケージを返します。PackageElementgetPackageOf(Element type)要素のパッケージを返します。TypeElementgetTypeElement(CharSequence name)型要素が環境内で一意である場合、その正式名が与えられた型要素を返します。default TypeElementgetTypeElement(ModuleElement module, CharSequence name)指定されたモジュールから見た正式名が与えられた型要素を返します。booleanhides(Element hider, Element hidden)型、メソッド、またはフィールドが別のものを覆い隠しているかどうかをテストします。default booleanisBridge(ExecutableElement e)実行可能要素がブリッジ・メソッドであればtrueを、そうでなければfalseを返します。booleanisDeprecated(Element e)要素が非推奨の場合はtrue、それ以外の場合はfalseを返します。booleanisFunctionalInterface(TypeElement type)この型要素が関数型インタフェースである場合はtrueを返し、そうでない場合はfalseを返します。booleanoverrides(ExecutableElement overrider, ExecutableElement overridden, TypeElement type)指定された型のメンバーであるメソッドが別のメソッドをオーバーライドするかどうかをテストします。voidprintElements(Writer w, Element... elements)要素の表現を、指定された順序で、指定されたライターに出力します。
-
メソッドの詳細
-
getPackageElement
PackageElement getPackageElement(CharSequence name)パッケージが環境内で一意である場合は、完全修飾名を指定してパッケージを返します。 モジュールで実行している場合、モジュール・グラフのすべてのモジュールで一致するパッケージが検索されます。- パラメータ:
name- 完全修飾パッケージ名、または名前のないパッケージの空の文字列- 戻り値:
- 指定されたパッケージ、または一意に見つけることができない場合は
null
-
getPackageElement
default PackageElement getPackageElement(ModuleElement module, CharSequence name)指定されたモジュールから見た完全修飾名が与えられたパッケージを返します。- 実装要件:
- このメソッドのデフォルト実装は
nullを返します。 - パラメータ:
name- 完全修飾パッケージ名、または名前のないパッケージの空の文字列module- ルックアップが起きる相対的なモジュール- 戻り値:
- 指定されたパッケージ、または見つからない場合は
null - 導入されたバージョン:
- 9
- 関連項目:
getAllPackageElements(java.lang.CharSequence)
-
getAllPackageElements
default Set<? extends PackageElement> getAllPackageElements(CharSequence name)指定された正規名を持つすべてのパッケージ要素を返します。 パッケージ要素が異なるモジュールにある場合、同じ正規名を持つ複数のパッケージ要素が存在する可能性があります。- 実装要件:
- このメソッドのデフォルトの実装では、
getAllModuleElementsが呼び出され、結果が保存されます。 モジュールのセットが空の場合、name引数を渡すとgetPackageElement(name)が呼び出されます。getPackageElement(name)がnullの場合、空のパッケージ要素のセットが返されます。それ以外の場合、見つかったpackage要素を持つ単一要素セットが返されます。 モジュールのセットが空でない場合、モジュールは反復され、getPackageElement(module, name)の非null結果はすべてセットに蓄積されます。 セットが返されます。 - パラメータ:
name- 正規名- 戻り値:
- パッケージ要素、または名前を持つパッケージが見つからない場合は空のセット
- 導入されたバージョン:
- 9
- 関連項目:
getPackageElement(ModuleElement, CharSequence)
-
getTypeElement
TypeElement getTypeElement(CharSequence name)型要素が環境内で一意である場合、その正式名が与えられた型要素を返します。 モジュールを使用して実行している場合、モジュール・グラフのすべてのモジュールが検索され、一致する型要素が検索されます。- パラメータ:
name- 正規名- 戻り値:
- 名前付き型要素、または一意に見つからない場合は
null
-
getTypeElement
default TypeElement getTypeElement(ModuleElement module, CharSequence name)指定されたモジュールから見た正式名が与えられた型要素を返します。- 実装要件:
- このメソッドのデフォルト実装は
nullを返します。 - パラメータ:
name- 正規名module- ルックアップが起きる相対的なモジュール- 戻り値:
- 名前付き型要素。見つからない場合は
null - 導入されたバージョン:
- 9
- 関連項目:
getAllTypeElements(java.lang.CharSequence)
-
getAllTypeElements
default Set<? extends TypeElement> getAllTypeElements(CharSequence name)指定された正規名を持つすべての型要素を返します。 型要素が異なるモジュールにある場合、同じ正準名を持つ複数の型要素が存在する可能性があります。- 実装要件:
- このメソッドのデフォルトの実装では、
getAllModuleElementsが呼び出され、結果が保存されます。 モジュールのセットが空の場合、name引数を渡すとgetTypeElement(name)が呼び出されます。getTypeElement(name)がnullの場合、型要素の空のセットが返されます。それ以外の場合は、見つかった型要素を持つ単一要素セットが返されます。 モジュールのセットが空でない場合、モジュールは反復され、getTypeElement(module, name)の非null結果はすべてセットに蓄積されます。 セットが返されます。 - パラメータ:
name- 正規名- 戻り値:
- 型要素、または名前を持つ型が見つからない場合は空のセット
- 導入されたバージョン:
- 9
- 関連項目:
getTypeElement(ModuleElement, CharSequence)
-
getModuleElement
default ModuleElement getModuleElement(CharSequence name)モジュール要素の完全修飾名を返します。 リクエストされたモジュールが見つからない場合、nullが戻されます。 モジュールが見つからない1つの状況は、モジュールなしで「ソース・バージョン」用に構成された注釈処理環境など、環境にモジュールが含まれていない場合です。- 実装要件:
- このメソッドのデフォルト実装は
nullを返します。 - パラメータ:
name- 名前、または名前のないモジュールの空の文字列- 戻り値:
- 指定されたモジュール要素、または見つからない場合は
null - 導入されたバージョン:
- 9
- 関連項目:
getAllModuleElements()
-
getAllModuleElements
default Set<? extends ModuleElement> getAllModuleElements()現在の環境内のすべてのモジュール要素を返します。 モジュールが存在しない場合、空のセットが返されます。 モジュールが存在しない1つの状況は、モジュールなしで「ソース・バージョン」用に構成された注釈処理環境など、モジュールに環境が含まれていない場合に発生します。- 実装要件:
- このメソッドのデフォルトの実装では、空のセットが返されます。
- 戻り値:
- 既知のモジュール要素、またはモジュールがない場合は空のセット
- 導入されたバージョン:
- 9
- 関連項目:
getModuleElement(CharSequence)
-
getElementValuesWithDefaults
Map<? extends ExecutableElement,? extends AnnotationValue> getElementValuesWithDefaults(AnnotationMirror a)デフォルトを含む注釈の要素の値を返します。- パラメータ:
a- 調べる対象の注釈- 戻り値:
- デフォルトを含む注釈の要素の値
- 関連項目:
AnnotationMirror.getElementValues()
-
getDocComment
要素のドキュメンテーション("Javadoc")コメントのテキストを返します。要素のドキュメンテーション・コメントは、「
/**」で始まり、個別の「*/」で終わるコメントであり、要素の直前に配置され、空白は無視されます。 したがって、ドキュメンテーション・コメントには、少なくとも3つの"*"文字が含まれます。 ドキュメンテーション・コメントで返されるテキストは、ソース・コードに表示されたとおりに処理された形式のコメントです。 先頭の「/**」と末尾の「*/」は削除されます。 コメントの行が最初の"/**"のあとに始まる場合、先行する空白文字は破棄されます。連続した"*"文字が空白のあとに現れる場合や、これらの文字から行が始まるも場合も、同様に破棄されます。 その後、処理された行は連結され(改行文字を含む)、返されます。- パラメータ:
e- 調べる対象の要素- 戻り値:
- 要素のドキュメンテーション・コメント。存在しない場合は
null - Java言語仕様を参照してください:
-
3.6 空白
-
isDeprecated
boolean isDeprecated(Element e)要素が非推奨の場合はtrue、それ以外の場合はfalseを返します。- パラメータ:
e- 調べる対象の要素- 戻り値:
- 要素が非推奨の場合は
true、それ以外の場合はfalse
-
getOrigin
default Elements.Origin getOrigin(Element e)指定された要素のoriginを返します。このメソッドが
EXPLICITを返し、その要素がクラス・ファイルから作成された場合、その要素は実際にはソース・コードの明示的に宣言された構文に対応していない可能性があることに注意してください。 これは、ソース・コードから情報を保持する際のクラス・ファイル形式の忠実性の限界に起因します。 例えば、クラス・ファイル形式の少なくともいくつかのバージョンは、コンストラクタがプログラマによって明示的に宣言されたか、暗黙的に「デフォルト・コンストラクタ」として宣言されたかを保持しません。- 実装要件:
- このメソッドのデフォルト実装では、
EXPLICITが返されます。 - パラメータ:
e- 調べる対象の要素- 戻り値:
- 指定された要素の起点
- 導入されたバージョン:
- 9
-
getOrigin
default Elements.Origin getOrigin(AnnotatedConstruct c, AnnotationMirror a)指定された注釈ミラーのoriginを返します。 注釈ミラーは、繰り返し可能な注釈型の繰り返し注釈を保持するために使用される暗黙的に宣言された「コンテナ注釈」である場合、mandatedです。このメソッドが
EXPLICITを返し、クラス・ファイルから注釈ミラーを作成した場合、その要素は実際にはソース・コードの明示的に宣言された構文に対応していない可能性があることに注意してください。 これは、ソース・コードから情報を保持する際のクラス・ファイル形式の忠実性の限界に起因します。 例えば、クラス・ファイル形式の少なくともいくつかのバージョンは、注釈がプログラマによって明示的に宣言されたのか、暗黙的に「コンテナ注釈」として宣言されたのかを保持しません。- 実装要件:
- このメソッドのデフォルト実装では、
EXPLICITが返されます。 - パラメータ:
c- 注釈ミラーが変更する構成a- 検査されている注釈ミラー- 戻り値:
- 指定された注釈ミラーの起点
- Java言語仕様を参照してください:
-
9.6.3 繰返し可能な注釈タイプ
「9.7.5同じタイプの複数の注釈」 - 導入されたバージョン:
- 9
-
getOrigin
default Elements.Origin getOrigin(ModuleElement m, ModuleElement.Directive directive)与えられたモジュール・ディレクティブのoriginを返します。このメソッドが
EXPLICITを返し、moduleディレクティブがクラス・ファイルから作成された場合、モジュール・ディレクティブは実際にはソース・コード内の明示的に宣言された構造体に対応しないことに注意してください。 これは、ソース・コードから情報を保持する際のクラス・ファイル形式の忠実性の限界に起因します。 例えば、クラス・ファイル形式の少なくともいくつかのバージョンは、usesディレクティブがプログラマによって明示的に宣言されたのか、合成構文として追加されたのかを保持しません。ソース・ファイルからの情報を保存する際のクラス・ファイル形式の忠実性の限界のために、ディレクティブがクラス・ファイルから作成された場合、実装はディレクティブの起点ステータスを確実に判断できないことに注意してください。
- 実装要件:
- このメソッドのデフォルト実装では、
EXPLICITが返されます。 - パラメータ:
m- ディレクティブのモジュールdirective- モジュール・ディレクティブが調べられている- 戻り値:
- 与えられたディレクティブの由来
- 導入されたバージョン:
- 9
-
isBridge
default boolean isBridge(ExecutableElement e)実行可能要素がブリッジ・メソッドであればtrueを、そうでなければfalseを返します。- 実装要件:
- このメソッドのデフォルト実装は
falseを返します。 - パラメータ:
e- 実行可能ファイルが検査されている- 戻り値:
- 実行可能要素がブリッジ・メソッドであれば
true、そうでなければfalse - 導入されたバージョン:
- 9
-
getBinaryName
Name getBinaryName(TypeElement type)型要素のバイナリ名を返します。- パラメータ:
type- 調べる対象の型要素- 戻り値:
- バイナリ名
- Java言語仕様を参照してください:
-
13.1 バイナリの形式
- 関連項目:
TypeElement.getQualifiedName()
-
getPackageOf
PackageElement getPackageOf(Element type)要素のパッケージを返します。 パッケージのパッケージはそれ自身です。 モジュールのパッケージはnullです。- パラメータ:
type- 調べる対象の要素- 戻り値:
- 要素のパッケージ
-
getModuleOf
default ModuleElement getModuleOf(Element type)要素のモジュールを返します。 モジュールのモジュールはそれ自身です。 要素のモジュールがない場合、nullが返されます。 要素のモジュールが存在しない1つの状況は、環境にモジュールが含まれていない場合です(モジュールを使用しない「ソース・バージョン」用に構成された注釈処理環境など)。- 実装要件:
- このメソッドのデフォルト実装は
nullを返します。 - パラメータ:
type- 調べる対象の要素- 戻り値:
- 要素のモジュール
- 導入されたバージョン:
- 9
-
getAllMembers
List<? extends Element> getAllMembers(TypeElement type)継承されているか直接宣言されているかにかかわらず、型要素のすべてのメンバーを返します。 クラスについては、結果にはコンストラクタも含まれますが、ローカル・クラスや匿名クラスは含まれません。- APIの注:
- 特定の種類の要素は、
ElementFilterのメソッドを使用して分離できます。 - パラメータ:
type- 調べる対象の型- 戻り値:
- 型のすべてのメンバー
- 関連項目:
Element.getEnclosedElements()
-
getAllAnnotationMirrors
List<? extends AnnotationMirror> getAllAnnotationMirrors(Element e)直接存在しているか継承を介して存在しているかにかかわらず、要素に存在しているすべての注釈を返します。- パラメータ:
e- 調べる対象の要素- 戻り値:
- 要素のすべての注釈
- 関連項目:
Element.getAnnotationMirrors(),AnnotatedConstruct
-
hides
型、メソッド、またはフィールドが別のものを覆い隠しているかどうかをテストします。- パラメータ:
hider- 先頭の要素hidden- 2番目の要素- 戻り値:
- 先頭の要素が2番目の要素を覆い隠している場合に限り
true - Java言語仕様を参照してください:
-
8.4.8 継承、オーバーライドおよび非表示
-
overrides
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- メンバーである先頭のメソッドの型- 戻り値:
- 先頭のメソッドが2番目のメソッドをオーバーライドする場合に限り
true - Java言語仕様を参照してください:
-
8.4.8 継承、オーバーライドおよび非表示
「9.4.1継承およびオーバーライド」
-
getConstantExpression
プリミティブ値または文字列を表す定数式のテキストを返します。 テキストは、ソース・コードで値を表すのに適した形式で返されます。- パラメータ:
value- プリミティブ値または文字列- 戻り値:
- 定数式のテキスト
- 例外:
IllegalArgumentException- 引数がプリミティブ値または文字列ではない場合- 関連項目:
VariableElement.getConstantValue()
-
printElements
要素の表現を、指定された順序で、指定されたライターに出力します。 このメソッドは、主に診断のために使用されます。 出力の厳密な形式は指定されておらず、変更される予定があります。- パラメータ:
w- 出力先のライターelements- 出力する要素
-
getName
Name getName(CharSequence cs)引数と同じ文字シーケンスを持つ名前を返します。- パラメータ:
cs- 名前として返される文字シーケンス- 戻り値:
- 引数と同じ文字シーケンスを持つ名前
-
isFunctionalInterface
boolean isFunctionalInterface(TypeElement type)この型要素が関数型インタフェースである場合はtrueを返し、そうでない場合はfalseを返します。- パラメータ:
type- 調べる対象の型要素- 戻り値:
- この要素が関数型インタフェースである場合は
true、そうでない場合はfalse - Java言語仕様を参照してください:
-
9.8「関数型インタフェース」
- 導入されたバージョン:
- 1.8
-