- すべてのスーパー・インタフェース:
AnnotatedConstruct
- 既知のすべてのサブインタフェース:
ExecutableElement
,ModuleElement
,PackageElement
,Parameterizable
,QualifiedNameable
,RecordComponentElement
,TypeElement
,TypeParameterElement
,VariableElement
要素を比較するには、equals(Object)
メソッドを使用してください。 特定の要素が常に同じオブジェクトにより表されるとはかぎりません。
Element
オブジェクトのクラスに基づいて操作を実装するには、visitorを使用するか、getKind()
メソッドの結果を使用します。 instanceof
を使用することが、このモデル階層内のオブジェクトの有効なクラスを決定するための信頼できる方法であるとはかぎりません。実装によっては、単一のオブジェクトが複数のElement
サブインタフェースを実装するようにしている可能性があるためです。
- 導入されたバージョン:
- 1.6
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明<R,
P> R accept
(ElementVisitor<R, P> v, P p) この要素にビジターを適用します。asType()
この要素で定義された型を返します。boolean
引数がthis
と同じ要素を表す場合はtrue
、それ以外の場合はfalse
を返します。<A extends Annotation>
AgetAnnotation
(Class<A> annotationType) 存在する場合は、この構造の指定された型の注釈を返し、そうでない場合はnull
を返します。List<? extends AnnotationMirror>
この構造に直接存在する注釈を返します。<A extends Annotation>
A[]getAnnotationsByType
(Class<A> annotationType) この構造に関連付けられている注釈を返します。大まかに言うとこの要素によって直接囲まれている要素を返します。大まかに言うとこの要素を囲んでいる、もっとも内側の要素を返します。getKind()
この要素のkind
を返します。注釈を除く、この要素の修飾子を返します。この要素の単純(非修飾)名を返します。int
hashCode()
Object.hashCode
の一般規約に従います。
-
メソッドの詳細
-
asType
TypeMirror asType()この要素で定義された型を返します。 -
getKind
ElementKind getKind()この要素のkind
を返します。- packageの種類は
PACKAGE
です。 - moduleの種類は
MODULE
です。 - 「type要素」の種類は、
ANNOTATION_TYPE
、CLASS
、ENUM
、INTERFACE
またはRECORD
のいずれかです。 - variableの種類は、
ENUM_CONSTANT
、EXCEPTION_PARAMETER
、FIELD
、LOCAL_VARIABLE
、PARAMETER
、RESOURCE_VARIABLE
、またはBINDING_VARIABLE
のいずれかです。 - executableの種類は、
CONSTRUCTOR
、INSTANCE_INIT
、METHOD
またはSTATIC_INIT
のいずれかです。 - 「型パラメータ」の種類は
TYPE_PARAMETER
です。 - 「レコード・コンポーネント」の種類は
RECORD_COMPONENT
です。
- 戻り値:
- この要素の
kind
- packageの種類は
-
getModifiers
注釈を除く、この要素の修飾子を返します。 インタフェースのメンバーのpublic
修飾子とstatic
修飾子などの暗黙的な修飾子を含みます。- 戻り値:
- この要素の修飾子。存在しない場合は空のセット
-
getSimpleName
Name getSimpleName() -
getEnclosingElement
Element getEnclosingElement()大まかに言うとこの要素を囲んでいる、もっとも内側の要素を返します。- この要素の宣言が別の要素の宣言内で構文上直接囲まれている場合は、その別の要素が返されます。
- これが「トップレベルのクラスまたはインタフェース」の場合、そのパッケージが返されます。
- これがpackageの場合、そのようなモジュールが存在する場合、そのモジュールが返されます。 それ以外の場合は
null
が返されます。 - これが型パラメータの場合は、型パラメータのジェネリック要素が返されます。
- これがメソッドまたはコンストラクタのパラメータである場合は、そのパラメータを宣言している実行可能要素が返されます。
- これが「レコード・コンポーネント」の場合、レコード・コンポーネントを宣言する「レコード・クラス」が戻されます。
- これがmoduleの場合、
null
が返されます。
- 戻り値:
- 囲んでいる要素。存在しない場合は
null
- 関連項目:
-
getEnclosedElements
大まかに言うとこの要素によって直接囲まれている要素を返します。 「クラスまたはインタフェース」は、直接宣言するフィールド、メソッド、コンストラクタ、レコード・コンポーネント、およびメンバー・クラスとインタフェースを囲むものとみなされます。 パッケージは、トップ・レベルのクラスとインタフェースを囲みますが、サブパッケージを囲むとはみなされません。 moduleはその中のパッケージを囲みます。 囲まれた要素には、暗黙的に宣言されたmandated要素が含まれます。 その他の種類の要素は、現在のところ要素を囲むことはないとみなされていますが、このAPIやプログラミング言語が拡張されると、そうでなくなる可能性もあります。- APIのノート:
- 特定の種類の要素は、
ElementFilter
のメソッドを使用して分離できます。 - 戻り値:
- 囲まれている要素。存在しない場合は空のリスト
- Java言語仕様を参照してください:
-
「8.8.9 デフォルト・コンストラクタ」
「8.9列挙型クラス」 - 関連項目:
-
equals
boolean equals(Object obj) 引数がthis
と同じ要素を表す場合はtrue
、それ以外の場合はfalse
を返します。- オーバーライド:
equals
、クラスObject
- APIのノート:
- 要素のアイデンティティには、要素メソッドから直接アクセスできない暗黙の状態が含まれます。これには、無関係な型の存在に関する状態も含まれます。 これらのインタフェースの異なる実装で作成された要素オブジェクトは、「同じ」要素がモデル化されていたとしても、同じ動作をするとは想定しないでください。これは、異なるクラス・ローダーを介してロードされた同一のクラス・ファイルで
Class
オブジェクトが同じにはならないことと同様です。 - パラメータ:
obj
- この要素と比較されるオブジェクト- 戻り値:
- 引数が
this
と同じ要素を表す場合はtrue
、そうでない場合はfalse
- 関連項目:
-
hashCode
int hashCode()Object.hashCode
の一般規約に従います。 -
getAnnotationMirrors
List<? extends AnnotationMirror> getAnnotationMirrors()この構造に直接存在する注釈を返します。継承された注釈を取得するには、
getAllAnnotationMirrors
を使用します。このメソッドによって返される注釈は宣言注釈であることに注意してください。
- 定義:
- インタフェース
AnnotatedConstruct
のgetAnnotationMirrors
- 戻り値:
- このコンストラクトに直接存在する注釈。存在しない場合は空のリスト
- 導入されたバージョン:
- 1.6
-
getAnnotation
<A extends Annotation> A getAnnotation(Class<A> annotationType) 存在する場合は、この構造の指定された型の注釈を返し、そうでない場合はnull
を返します。このメソッドが返す注釈には、
Class
型の値を持つ要素が含まれる場合があります。 この値は直接返されません。つまり、クラス・ローダーを使用するための情報など、クラスを見つけてロードするのに必要な情報は利用できません。 返される注釈で関連するメソッドを呼び出すことによりClass
オブジェクトを読み込もうとすると、MirroredTypeException
が発生します。これから、対応するTypeMirror
を抽出することができます。 同様に、Class[]
の値を持つ要素を読み込もうとすると、MirroredTypesException
が発生します。ノート: このメソッドは、このインタフェースや関連するインタフェース内のほかのメソッドとは異なります。 このメソッドは、これらのインタフェースにより定義され、これらのインタフェースを通じて使用される表現に対して操作を行うのではなく、実行時リフレクト情報(仮想マシンに現在ロードされている注釈型の表現)に対して操作を行います。 その結果、返された注釈オブジェクトでメソッドを呼び出すと、コア・リフレクションによって返された注釈オブジェクトでメソッドを呼び出したときにスローされる可能性のある例外の多くがスローされることがあります。 このメソッドは、注釈型の既知の固定セットに対して操作を行うように記述された呼出し側を対象としています。
このメソッドによって返される注釈は宣言注釈であることに注意してください。
- 定義:
- インタフェース
AnnotatedConstruct
のgetAnnotation
- 型パラメータ:
A
- 注釈型- パラメータ:
annotationType
- 注釈型に対応するClass
オブジェクト- 戻り値:
- このような注釈がpresentの場合は指定された型のこのコンストラクト注釈、それ以外の場合は
null
- 導入されたバージョン:
- 1.6
- 関連項目:
-
getAnnotationsByType
<A extends Annotation> A[] getAnnotationsByType(Class<A> annotationType) この構造に関連付けられている注釈を返します。 このコンストラクトに関連付けられている注釈がない場合、戻り値は長さ0の配列です。 コンストラクトCに直接または間接的に存在している注釈の順序の計算では、Cに間接的に存在している注釈は、そのコンテナ注釈の場所に、コンテナ注釈の値要素内に現れる順序で、Cに直接存在しているかのように扱われます。 このメソッドとAnnotatedConstruct.getAnnotation(Class)
の違いは、引数が「繰返し可能な注釈タイプ」かどうかをこのメソッドが検出し、その場合、"検索"がコンテナ注釈を使用してその型の注釈を検索しようとすることです。このメソッドから返される注釈には、
Class
型の値を持つ要素が含まれている可能性があります。 この値は直接返されません。つまり、クラス・ローダーを使用するための情報など、クラスを見つけてロードするのに必要な情報は利用できません。 返される注釈で関連するメソッドを呼び出すことによりClass
オブジェクトを読み込もうとすると、MirroredTypeException
が発生します。これから、対応するTypeMirror
を抽出することができます。 同様に、Class[]
の値を持つ要素を読み込もうとすると、MirroredTypesException
が発生します。ノート: このメソッドは、このインタフェースや関連するインタフェース内のほかのメソッドとは異なります。 このメソッドは、これらのインタフェースにより定義され、これらのインタフェースを通じて使用される表現に対して操作を行うのではなく、実行時リフレクト情報(仮想マシンに現在ロードされている注釈型の表現)に対して操作を行います。 その結果、返された注釈オブジェクトでメソッドを呼び出すと、コア・リフレクションによって返された注釈オブジェクトでメソッドを呼び出したときにスローされる可能性のある例外の多くがスローされることがあります。 このメソッドは、注釈型の既知の固定セットに対して操作を行うように記述された呼出し側を対象としています。
このメソッドによって返される注釈は宣言注釈であることに注意してください。
- 定義:
- インタフェース
AnnotatedConstruct
内のgetAnnotationsByType
- 型パラメータ:
A
- 注釈型- パラメータ:
annotationType
- 注釈型に対応するClass
オブジェクト- 戻り値:
- 存在する場合は、このコンストラクトの指定された注釈型の注釈。そうでない場合は空の配列
- 導入されたバージョン:
- 8
- 関連項目:
-
accept
<R,P> R accept(ElementVisitor<R, P> v, P p) この要素にビジターを適用します。- 型パラメータ:
R
- ビジターのメソッドの戻り型P
- ビジターのメソッドに追加するパラメータの型- パラメータ:
v
- この要素で動作するビジターp
- ビジターに追加するパラメータ- 戻り値:
- ビジター指定の結果
-