public interface Element extends AnnotatedConstruct
要素を比較するには、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 の一般規約に従います。 |
getAnnotationsByType
TypeMirror asType()
ジェネリック要素は型を1つだけではなく、ファミリで定義します。これがジェネリック要素であれば、プロトタイプ的型が返されます。これは、独自の仮型パラメータに対応する型変数での要素の呼出しです。たとえば、ジェネリック・クラス要素であるC<N extends Number>
については、パラメータ化された型C<N>
が返されます。Types
ユーティリティ・インタフェースには、要素で定義された型の全範囲を取得するための汎用的なメソッドがより多く用意されています。
Types
ElementKind getKind()
kind
を返します。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()
ElementFilter
のメソッドを使用すると、特定の種類の要素を分離できます。
PackageElement.getEnclosedElements()
, TypeElement.getEnclosedElements()
, 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)
List<? extends AnnotationMirror> getAnnotationMirrors()
継承された注釈を取得するには、getAllAnnotationMirrors
を使用します。
AnnotatedConstruct
のgetAnnotationMirrors
<A extends Annotation> A getAnnotation(Class<A> annotationType)
null
を返します。
このメソッドが返す注釈には、Class
型の値を持つ要素が含まれる場合があります。この値は直接返されません。つまり、クラス・ローダーを使用するための情報など、クラスを見つけてロードするのに必要な情報は利用できません。返される注釈で関連するメソッドを呼び出すことによりClass
オブジェクトを読み込もうとすると、MirroredTypeException
が発生します。これから、対応するTypeMirror
を抽出することができます。同様に、Class[]
の値を持つ要素を読み込もうとすると、MirroredTypesException
が発生します。
注: このメソッドは、このインタフェースや関連するインタフェース内のほかのメソッドとは異なります。このメソッドは、これらのインタフェースにより定義され、これらのインタフェースを通じて使用される表現に対して操作を行うのではなく、実行時リフレクト情報(仮想マシンに現在ロードされている注釈型の表現)に対して操作を行います。その結果、返された注釈オブジェクトでメソッドを呼び出すと、コア・リフレクションによって返された注釈オブジェクトでメソッドを呼び出したときにスローされる可能性のある例外の多くがスローされることがあります。このメソッドは、注釈型の既知の固定セットに対して操作を行うように記述された呼出し側を対象としています。
AnnotatedConstruct
のgetAnnotation
A
- 注釈型annotationType
- 注釈型に対応するClass
オブジェクトnull
AnnotatedConstruct.getAnnotationMirrors()
, AnnotatedElement.getAnnotation(java.lang.Class<T>)
, EnumConstantNotPresentException
, AnnotationTypeMismatchException
, IncompleteAnnotationException
, MirroredTypeException
, MirroredTypesException
<R,P> R accept(ElementVisitor<R,P> v, P p)
R
- ビジターのメソッドの戻り型P
- ビジターのメソッドに追加するパラメータの型v
- この要素で動作するビジターp
- ビジターに追加するパラメータ バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.