public interface Element
要素を比較するには、equals(Object)
メソッドを使用してください。特定の要素が常に同じオブジェクトにより表されるとはかぎりません。
Element
オブジェクトのクラスに基づいて操作を実装するには、visitor を使用するか、getKind()
メソッドの結果を使用します。instanceof
を使用することが、このモデル階層内のオブジェクトの有効なクラスを決定するための信頼できる方法であるとはかぎりません。実装によっては、単一のオブジェクトが複数の Element
サブインタフェースを実装するようにしている可能性があるためです。
Elements
, TypeMirror
修飾子と型 | メソッドと説明 |
---|---|
<R,P> R |
accept(ElementVisitor<R,P> v, P p)
この要素にビジターを適用します。
|
TypeMirror |
asType()
この要素で定義された型を返します。
|
boolean |
equals(Object obj)
引数が
this と同じ要素を表す場合は true 、それ以外の場合は false を返します。 |
<A extends Annotation> |
getAnnotation(Class<A> annotationType)
この要素の指定された型の注釈が存在する場合はそのような注釈を返し、それ以外の場合は
null を返します。 |
List<? extends AnnotationMirror> |
getAnnotationMirrors()
この要素に直接存在する注釈を返します。
|
List<? extends Element> |
getEnclosedElements()
大まかに言うとこの要素によって直接囲まれている要素を返します。
|
Element |
getEnclosingElement()
大まかに言うとこの要素を囲んでいる、もっとも内側の要素を返します。
|
ElementKind |
getKind()
この要素の
kind を返します。 |
Set<Modifier> |
getModifiers()
注釈を除く、この要素の修飾子を返します。
|
Name |
getSimpleName()
この要素の単純 (非修飾) 名を返します。
|
int |
hashCode()
Object.hashCode の一般規約に従います。 |
TypeMirror asType()
ジェネリック要素は型を 1 つだけではなく、ファミリで定義します。これがジェネリック要素であれば、プロトタイプ的型が返されます。これは、独自の仮型パラメータに対応する型変数での要素の呼び出しです。たとえば、ジェネリッククラス要素である C<N extends Number>
については、パラメータ化された型 C<N>
が返されます。Types
ユーティリティーインタフェースには、要素で定義された型の全範囲を取得するための汎用的なメソッドがより多く用意されています。
Types
ElementKind getKind()
kind
を返します。List<? extends AnnotationMirror> getAnnotationMirrors()
継承された注釈を取得するには、getAllAnnotationMirrors
を使用します。
ElementFilter
<A extends Annotation> A getAnnotation(Class<A> annotationType)
null
を返します。注釈は、この要素に継承されているか、この要素に直接存在しています。
このメソッドが返す注釈には、Class
型の値を持つ要素が含まれる場合があります。この値は直接返されません。つまり、クラスローダーを使用するための情報など、クラスを見つけてロードするのに必要な情報は利用できません。返される注釈で関連するメソッドを呼び出すことにより Class
オブジェクトを読み込もうとすると、MirroredTypeException
が発生します。これから、対応する TypeMirror
を抽出することができます。同様に、Class[]
の値による要素を読み込もうとすると、MirroredTypesException
が発生します。
注: このメソッドは、このインタフェースや関連するインタフェース内のほかのメソッドとは異なります。このメソッドは、これらのインタフェースにより定義され、これらのインタフェースを通じて使用される表現に対して操作を行うのではなく、実行時リフレクト情報 (仮想マシンに現在ロードされている注釈型の表現) に対して操作を行います。その結果、返された注釈オブジェクトでメソッドを呼び出すと、コアリフレクションによって返された注釈オブジェクトでメソッドを呼び出したときにスローされる可能性のある例外の多くがスローされることがあります。このメソッドは、注釈型の既知の固定セットに対して操作を行うように記述された呼び出し側を対象としています。
A
- 注釈型annotationType
- 注釈型に対応する Class
オブジェクトnull
getAnnotationMirrors()
, AnnotatedElement.getAnnotation(java.lang.Class<T>)
, EnumConstantNotPresentException
, AnnotationTypeMismatchException
, IncompleteAnnotationException
, MirroredTypeException
, MirroredTypesException
Set<Modifier> getModifiers()
public
修飾子と static
修飾子などの暗黙的な修飾子を含みます。Name getSimpleName()
java.util.Set<E>
の単純名は "Set"
です。
この要素が名前を持たないパッケージを表す場合は、空の名前が返されます。
コンストラクタを表す場合は、"<init>
" という名前が返されます。静的な初期化子を表す場合は、"<clinit>
" という名前が返されます。
匿名クラスまたはインスタンス初期化子を表す場合は、空の名前が返されます。Element getEnclosingElement()
null
Elements.getPackageOf(javax.lang.model.element.Element)
List<? extends Element> getEnclosedElements()
values
、および列挙型の valueOf
メソッドが含まれます。
パッケージは、トップレベルのクラスとインタフェースを囲みますが、サブパッケージを囲むとはみなされません。
その他の種類の要素は、現在のところ要素を囲むことはないとみなされていますが、この API やプログラミング言語が拡張されると、そうでなくなる可能性もあります。
ElementFilter
のメソッドを使用すると、特定の種類の要素を分離できます。
Elements.getAllMembers(javax.lang.model.element.TypeElement)
boolean equals(Object obj)
this
と同じ要素を表す場合は true
、それ以外の場合は false
を返します。
要素の識別情報には、関係のない型の存在に関する状態など、要素のメソッドから直接アクセスできない暗黙的な状態が含まれています。これらのインタフェースの異なる実装で作成された要素オブジェクトは、「同じ」要素がモデル化されていたとしても、同じ動作をするとは想定しないでください。これは、異なるクラスローダーを介してロードされた同一のクラスファイルで Class
オブジェクトが同じにはならないことと同様です。
equals
、クラス: Object
obj
- この要素と比較されるオブジェクトtrue
Object.hashCode()
, HashMap
int hashCode()
Object.hashCode
の一般規約に従います。hashCode
、クラス: Object
equals(java.lang.Object)
<R,P> R accept(ElementVisitor<R,P> v, P p)
R
- ビジターのメソッドの戻り型P
- ビジターのメソッドに追加するパラメータの型v
- この要素で動作するビジターp
- ビジターに追加するパラメータ バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.