インタフェース | 説明 |
---|---|
AnnotationMirror |
注釈を表します。
|
AnnotationValue |
注釈型の要素の値を表します。
|
AnnotationValueVisitor<R,P> |
注釈型要素の値のビジターです。ビジター・デザイン・パターンのバリアントを使用します。
|
Element |
パッケージ、クラス、またはメソッドなど、プログラム要素を表します。
|
ElementVisitor<R,P> |
ビジター・デザイン・パターンのスタイルによるプログラム要素のビジターです。
|
ExecutableElement |
クラスまたはインタフェースのメソッド、コンストラクタ、または初期化子(静的またはインスタンス)を表します(注釈型要素を含む)。
|
Name |
文字の不変シーケンスです。
|
PackageElement |
パッケージのプログラム要素を表します。
|
Parameterizable |
型パラメータを持つ要素に対応するmixinインタフェースです。
|
QualifiedNameable |
修飾名を持つ要素に対応するmixinインタフェースです。
|
TypeElement |
クラスまたはインタフェースのプログラム要素を表します。
|
TypeParameterElement |
ジェネリック的なクラス、インタフェース、メソッド、またはコンストラクタの要素の仮型パラメータを表します。
|
VariableElement |
フィールド、
enum 定数、メソッドまたはコンストラクタのパラメータ、ローカル変数、リソース変数、または例外パラメータを表します。 |
列挙型 | 説明 |
---|---|
ElementKind |
要素の
kind です。 |
Modifier |
クラス、メソッド、フィールドなど、プログラム要素の修飾子を表します。
|
NestingKind |
型要素の入れ子の種類です。
|
例外 | 説明 |
---|---|
UnknownAnnotationValueException |
未知の種類の注釈値が検出されたことを示します。
|
UnknownElementException |
未知の種類の要素が検出されたことを示します。
|
for
ループやtry
finally
ブロックの表現はありません。ただし、インタフェースではメソッド本体の内部にのみ存在する一部の構造(ローカル変数や匿名クラスなど)はモデル化することができます。
注釈処理のコンテキストで使用するときは、表される要素の正確なモデルを返す必要があります。これは言語モデルであるため、ソース・コードはクラス・ファイルなどの実行可能な出力の中の表現ではなく、その構造構文の基準となる表現(参照表現)を提供します。実行可能な出力は、モデル化要素を作成するための基礎として機能することができます。ただし、ソース・コードを実行可能な出力に変換する処理では、ソース・コード表現の一部の特性を復元することが許可されない場合があります。たとえば、source retentionを持つ注釈をクラス・ファイルから復元することはできません。また、クラス・ファイルがソースの位置情報を提供できない場合もあります。パラメータの名前をクラス・ファイルから復元できない場合があります。次のような場合に、要素上の修飾子が異なる可能性があります。
strictfp
がある
final
がある
protected
、private
、およびstatic
がある
注釈処理中は、不完全なプログラムやエラーのあるプログラムでの操作が必要ですが、結果として得られるモデルの品質が低下します。ソース・コードが構文的に整形式ではない場合や、新しい型の生成によって取り除くことができないようなその他の回復不能なエラーが発生した場合は、モデルが実装の質の問題となることも、ならないこともあります。プログラムが構文的に正しくても、その他の部分でエラーがある場合、返されるモデルには、プログラム内のメソッド本体がすべて"throw new RuntimeException();"
で置き換えられた場合と同程度の情報が含まれる必要があります。見つからない型XYZをプログラムが参照する場合、返されるモデルには、型XYZの宣言が"class XYZ {}"
、"interface XYZ {}"
、"enum XYZ {}"
、または"@interface XYZ {}"
であるとみなされた場合と同程度の情報が含まれる必要があります。見つからない型XYZ<K1, ... ,Kn>
をプログラムが参照する場合、返されるモデルには、XYZの宣言が"class XYZ<T1, ... ,Tn> {}"
または"interface XYZ<T1, ... ,Tn> {}"
であるとみなされた場合と同程度の情報が含まれる必要があります。
特定の実装で特に指定されないかぎり、このパッケージのメソッドが返すコレクションは、呼出し側からは変更不可能であり、並行アクセスに対しては安全ではないと想定するようにしてください。
特に指定されないかぎり、このパッケージのメソッドはnull
引数が渡されるとNullPointerException
をスローします。
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.