|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface Element
パッケージ、クラス、またはメソッドなど、プログラム要素を表します。各要素は、仮想マシンの実行時の構成要素などではなく、静的な言語レベルの構成要素を表します。
要素を比較するには、equals(Object)
メソッドを使用してください。特定の要素が常に同じオブジェクトにより表されるとはかぎりません。
Element
オブジェクトのクラスに基づいて操作を実装するには、visitor を使用するか、getKind()
メソッドの結果を使用します。instanceof
を使用することが、このモデル階層内のオブジェクトの有効なクラスを決定するための信頼できる方法であるとはかぎりません。実装によっては、単一のオブジェクトが複数の Element
サブインタフェースを実装するようにしている可能性があるためです。
Elements
,
TypeMirror
メソッドの概要 | ||
---|---|---|
|
accept(ElementVisitor<R,P> v,
P p)
この要素にビジターを適用します。 |
|
TypeMirror |
asType()
この要素で定義された型を返します。 |
|
boolean |
equals(Object obj)
引数が this と同じ要素を表す場合は true を返します。 |
|
|
getAnnotation(Class<A> annotationType)
指定された型の注釈がこの要素にある場合は、その注釈を返します。 |
|
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)
,
EnumConstantNotPresentException
,
AnnotationTypeMismatchException
,
IncompleteAnnotationException
,
MirroredTypeException
,
MirroredTypesException
Set<Modifier> getModifiers()
public
修飾子と static
修飾子などの暗黙的な修飾子を含みます。
Name getSimpleName()
java.util.Set<E>
の単純名は "Set"
です。この要素が名前を持たないパッケージを表す場合は、空の名前が返されます。コンストラクタを表す場合は、"<init>
" という名前が返されます。静的な初期化子を表す場合は、"<clinit>
" という名前が返されます。匿名クラスまたはインスタンス初期化子を表す場合は、空の名前が返されます。
Element getEnclosingElement()
null
が返されます。
null
が返されます。
null
Elements.getPackageOf(javax.lang.model.element.Element)
List<? extends Element> getEnclosedElements()
values
、および enum 型の valueOf
メソッドが含まれます。
パッケージは、トップレベルのクラスとインタフェースを囲みますが、サブパッケージを囲むとはみなされません。
その他の種類の要素は、現在のところ要素を囲むことはないとみなされていますが、この API やプログラミング言語が拡張されると、そうでなくなる可能性もあります。
ElementFilter
のメソッドを使用すると、特定の種類の要素を分離できます。
Elements.getAllMembers(javax.lang.model.element.TypeElement)
boolean equals(Object obj)
this
と同じ要素を表す場合は true
を返します。そうでない場合は false
を返します。
要素の識別情報には、関係のない型の存在に関する状態など、要素のメソッドから直接アクセスできない暗黙的な状態が含まれています。これらのインタフェースの異なる実装で作成された要素オブジェクトは、「同じ」要素がモデル化されていたとしても、同じ動作をするとは想定しないでください。これは、異なるクラスローダーを介してロードされた同一のクラスファイルで Class
オブジェクトが同じにはならないことと同様です。
Object
内の equals
obj
- この要素と比較されるオブジェクト
true
Object.hashCode()
,
Hashtable
int hashCode()
Object.hashCode
の一般規約に従います。
Object
内の hashCode
equals(java.lang.Object)
<R,P> R accept(ElementVisitor<R,P> v, P p)
R
- ビジターのメソッドの戻り型P
- ビジターのメソッドに追加するパラメータの型v
- この要素で動作するビジターp
- ビジターに追加するパラメータ
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。