JavaTM Platform
Standard Ed. 6

javax.lang.model.element
インタフェース Element

既知のサブインタフェースの一覧:
ExecutableElement, PackageElement, TypeElement, TypeParameterElement, VariableElement

public interface Element

パッケージ、クラス、またはメソッドなど、プログラム要素を表します。各要素は、仮想マシンの実行時の構成要素などではなく、静的な言語レベルの構成要素を表します。

要素を比較するには、equals(Object) メソッドを使用してください。特定の要素が常に同じオブジェクトにより表されるとはかぎりません。

Element オブジェクトのクラスに基づいて操作を実装するには、visitor を使用するか、getKind() メソッドの結果を使用します。instanceof を使用することが、このモデル階層内のオブジェクトの有効なクラスを決定するための信頼できる方法であるとはかぎりません。実装によっては、単一のオブジェクトが複数の Element サブインタフェースを実装するようにしている可能性があるためです。

導入されたバージョン:
1.6
関連項目:
Elements, TypeMirror

メソッドの概要
<R,P> R
accept(ElementVisitor<R,P> v, P p)
          この要素にビジターを適用します。
 TypeMirror asType()
          この要素で定義された型を返します。
 boolean equals(Object obj)
          引数が this と同じ要素を表す場合は true を返します。
<A extends Annotation>
A
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 の一般規約に従います。
 

メソッドの詳細

asType

TypeMirror asType()
この要素で定義された型を返します。

総称要素は型を 1 つだけではなく、ファミリで定義します。これが総称要素であれば、プロトタイプ的型が返されます。これは、独自の仮型パラメータに対応する型変数での要素の呼び出しです。たとえば、総称クラス要素である C<N extends Number> については、パラメータ化された型 C<N> が返されます。Types ユーティリティーインタフェースには、要素で定義された型の全範囲を取得するための汎用的なメソッドがより多く用意されています。

戻り値:
この要素で定義された型
関連項目:
Types

getKind

ElementKind getKind()
この要素の kind を返します。

戻り値:
この要素の種類

getAnnotationMirrors

List<? extends AnnotationMirror> getAnnotationMirrors()
この要素に直接存在する注釈を返します。

継承された注釈を取得するには、getAllAnnotationMirrors を使用します。

戻り値:
この要素に直接存在する注釈。存在しない場合は空のリスト
関連項目:
ElementFilter

getAnnotation

<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

getModifiers

Set<Modifier> getModifiers()
注釈を除く、この要素の修飾子を返します。インタフェースのメンバーの public 修飾子と static 修飾子などの暗黙的な修飾子を含みます。

戻り値:
この要素の修飾子。存在しない場合は空のセット

getSimpleName

Name getSimpleName()
この要素の単純 (非修飾) 名を返します。総称型の名前には、正式な型パラメータへの参照は含まれません。たとえば、型要素 java.util.Set<E> の単純名は "Set" です。この要素が名前を持たないパッケージを表す場合は、空の名前が返されます。コンストラクタを表す場合は、"<init>" という名前が返されます。静的な初期化子を表す場合は、"<clinit>" という名前が返されます。匿名クラスまたはインスタンス初期化子を表す場合は、空の名前が返されます。

戻り値:
この要素の単純名

getEnclosingElement

Element getEnclosingElement()
大まかに言うとこの要素を囲んでいる、もっとも内側の要素を返します。

戻り値:
囲んでいる要素。存在しない場合は null
関連項目:
Elements.getPackageOf(javax.lang.model.element.Element)

getEnclosedElements

List<? extends Element> getEnclosedElements()
大まかに言うとこの要素によって直接囲まれている要素を返します。 クラスまたはインタフェースは、直接宣言するフィールド、メソッド、コンストラクタ、およびメンバーの型を囲むとみなされます。これには、暗黙的なデフォルトのコンストラクタ、暗黙的な values、および enum 型の valueOf メソッドが含まれます。 パッケージは、トップレベルのクラスとインタフェースを囲みますが、サブパッケージを囲むとはみなされません。 その他の種類の要素は、現在のところ要素を囲むことはないとみなされていますが、この API やプログラミング言語が拡張されると、そうでなくなる可能性もあります。

ElementFilter のメソッドを使用すると、特定の種類の要素を分離できます。

戻り値:
囲まれている要素。存在しない場合は空のリスト
関連項目:
Elements.getAllMembers(javax.lang.model.element.TypeElement)
関連項目 The Java Language Specification, Third Edition:
8.8.9 Default Constructor, 8.9 Enums

equals

boolean equals(Object obj)
引数が this と同じ要素を表す場合は true を返します。そうでない場合は false を返します。

要素の識別情報には、関係のない型の存在に関する状態など、要素のメソッドから直接アクセスできない暗黙的な状態が含まれています。これらのインタフェースの異なる実装で作成された要素オブジェクトは、「同じ」要素がモデル化されていたとしても、同じ動作をするとは想定しないでください。これは、異なるクラスローダーを介してロードされた同一のクラスファイルで Class オブジェクトが同じにはならないことと同様です。

オーバーライド:
クラス Object 内の equals
パラメータ:
obj - この要素と比較されるオブジェクト
戻り値:
指定されたオブジェクトが this と同じ要素を表す場合は true
関連項目:
Object.hashCode(), Hashtable

hashCode

int hashCode()
Object.hashCode の一般規約に従います。

オーバーライド:
クラス Object 内の hashCode
戻り値:
このオブジェクトのハッシュコード値
関連項目:
equals(java.lang.Object)

accept

<R,P> R accept(ElementVisitor<R,P> v,
               P p)
この要素にビジターを適用します。

型パラメータ:
R - ビジターのメソッドの戻り型
P - ビジターのメソッドに追加するパラメータの型
パラメータ:
v - この要素で動作するビジター
p - ビジターに追加するパラメータ
戻り値:
ビジター指定の結果

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。