-
public interface Elementsプログラム要素で操作を行うためのユーティリティ・メソッド。互換性に関するノート: プラットフォームの将来のリリースでは、このインタフェースにメソッドが追加される可能性があります。
- 導入されたバージョン:
- 1.6
- 関連項目:
ProcessingEnvironment.getElementUtils()
-
-
ネストされたクラスのサマリー
ネストされたクラス 修飾子と型 インタフェース 説明 static classElements.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)type要素が環境内で一意である場合、標準名で指定されたtype要素を返します。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がコールされ、結果が格納されます。 モジュールのセットが空の場合、getPackageElement(name)がname引数を渡して呼び出されます。getPackageElement(name)がnullの場合、パッケージ要素の空のセットが戻されます。それ以外の場合、検出されたパッケージ要素を含む単一要素セットが返されます。 モジュール・セットが空でない場合、モジュールは反復され、getPackageElement(module, name)のnull以外の結果はセットに累積されます。 その後、セットが返されます。 - パラメータ:
name- 正規名- 戻り値:
- パッケージ要素、または名前を持つパッケージが見つからない場合は空のセット
- 導入されたバージョン:
- 9
- 関連項目:
getPackageElement(ModuleElement, CharSequence)
-
getTypeElement
TypeElement getTypeElement(CharSequence name)
type要素が環境内で一意である場合、標準名で指定されたtype要素を返します。 モジュールとともに実行している場合、モジュール・グラフ内のすべてのモジュールで、一致する型要素が検索されます。- パラメータ:
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がコールされ、結果が格納されます。 モジュールのセットが空の場合、getTypeElement(name)が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
String getDocComment(Element e)
要素のドキュメンテーション("Javadoc")コメントのテキストを返します。要素のドキュメンテーション・コメントは、「
/**」で始まり、個別の「*/」で終わるコメントであり、要素の直前に配置され、空白は無視されます。 したがって、ドキュメンテーション・コメントには、少なくとも3つの"*"文字が含まれます。 ドキュメンテーション・コメントで返されるテキストは、ソース・コードに表示されたとおりに処理された形式のコメントです。 先頭の「/**」と末尾の「*/」は削除されます。 コメントの行が最初の"/**"のあとに始まる場合、先行する空白文字は破棄されます。連続した"*"文字が空白のあとに現れる場合や、これらの文字から行が始まるも場合も、同様に破棄されます。 その後、処理された行は連結され(改行文字を含む)、返されます。- パラメータ:
e- 調べる対象の要素- 戻り値:
- 要素のドキュメンテーション・コメント。存在しない場合は
null - The Java™Language Specificationを参照してください。
- 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を返します。 注釈ミラーは、繰返し可能な注釈型の繰返し注釈を保持するために使用される暗黙的に宣言されたコンテナ注釈である場合、必須です。このメソッドが
EXPLICITを返し、注釈ミラーがクラス・ファイルから作成された場合、その要素は実際にはソース・コードで明示的に宣言された構造体に対応していない可能性があります。 これは、ソース・コードからの情報を保持する際のクラス・ファイル形式の正確性の制限によるものです。 たとえば、少なくとも一部のバージョンのクラス・ファイル形式では、注釈がプログラマによって明示的に宣言されたか、暗黙的にコンテナ注釈として宣言されたかは保持されません。- 実装要件:
- このメソッドのデフォルト実装は、
EXPLICITを返します。 - パラメータ:
c- 注釈ミラーが変更する構成a- 検査される注釈ミラー- 戻り値:
- 指定された注釈ミラーの原点
- 導入されたバージョン:
- 9
- The Java™Language Specificationを参照してください。
- 9.6.3 繰返し可能な注釈型、9.7.5同じ型の複数の注釈
-
getOrigin
default Elements.Origin getOrigin(ModuleElement m, ModuleElement.Directive directive)
指定されたモジュールディレクティブの originを返します。このメソッドが
EXPLICITを返し、モジュール・ディレクティブがクラス・ファイルから作成された場合、モジュール・ディレクティブは実際には、ソース・コードで明示的に宣言された構造体に対応していない可能性があります。 これは、ソース・コードからの情報を保持する際のクラス・ファイル形式の正確性の制限によるものです。 たとえば、少なくとも一部のバージョンのクラス・ファイル形式では、usesディレクティブがプログラマによって明示的に宣言されたか、合成コンストラクトとして追加されたかは保持されません。ソース・コードからの情報を保持するクラス・ファイル・フォーマットの忠実性の制限により、クラス・ファイルからディレクティブが作成された場合、実装はディレクティブのオリジン・ステータスを確実に判断できない場合があります。
- 実装要件:
- このメソッドのデフォルト実装は、
EXPLICITを返します。 - パラメータ:
m- ディレクティブのモジュールdirective- 調査中のモジュール・ディレクティブ- 戻り値:
- 指定されたディレクティブの起点
- 導入されたバージョン:
- 9
-
isBridge
default boolean isBridge(ExecutableElement e)
実行可能要素がブリッジ・メソッドの場合はtrue、それ以外の場合はfalseを返します。- 実装要件:
- このメソッドのデフォルト実装は
falseを返します。 - パラメータ:
e- 検査する実行可能ファイル- 戻り値:
- 実行可能要素がブリッジ・メソッドの場合は
true、それ以外の場合はfalse - 導入されたバージョン:
- 9
-
getBinaryName
Name getBinaryName(TypeElement type)
型要素のバイナリ名を返します。- パラメータ:
type- 調べる対象の型要素- 戻り値:
- バイナリ名
- 関連項目:
TypeElement.getQualifiedName()- The Java™Language Specificationを参照してください。
- 13.1 バイナリの形式
-
getPackageOf
PackageElement getPackageOf(Element type)
要素のパッケージを返します。 パッケージのパッケージはそれ自身です。- パラメータ:
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
boolean hides(Element hider, Element hidden)
型、メソッド、またはフィールドが別のものを覆い隠しているかどうかをテストします。- パラメータ:
hider- 先頭の要素hidden- 2番目の要素- 戻り値:
- 先頭の要素が2番目の要素を覆い隠している場合に限り
true
-
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 - The Java™Language Specificationを参照してください。
- 8.4.8 継承、オーバーライド、および覆い隠し、9.4.1 継承およびオーバーライド
-
getConstantExpression
String getConstantExpression(Object value)
プリミティブ値または文字列を表す定数式のテキストを返します。 テキストは、ソース・コードで値を表すのに適した形式で返されます。- パラメータ:
value- プリミティブ値または文字列- 戻り値:
- 定数式のテキスト
- 例外:
IllegalArgumentException- 引数がプリミティブ値または文字列ではない場合- 関連項目:
VariableElement.getConstantValue()
-
printElements
void printElements(Writer w, Element... elements)
要素の表現を、指定された順序で、指定されたライターに出力します。 このメソッドは、主に診断のために使用されます。 出力の厳密な形式は指定されておらず、変更される予定があります。- パラメータ:
w- 出力先のライターelements- 出力する要素
-
getName
Name getName(CharSequence cs)
引数と同じ文字シーケンスを持つ名前を返します。- パラメータ:
cs- 名前として返される文字シーケンス- 戻り値:
- 引数と同じ文字シーケンスを持つ名前
-
isFunctionalInterface
boolean isFunctionalInterface(TypeElement type)
この型要素が関数型インタフェースである場合はtrueを返し、そうでない場合はfalseを返します。- パラメータ:
type- 調べる対象の型要素- 戻り値:
- この要素が関数型インタフェースである場合は
true、そうでない場合はfalse - 導入されたバージョン:
- 1.8
- The Java™Language Specificationを参照してください。
- 9.8 関数型インタフェース
-
-