| インタフェース | 説明 | 
|---|---|
| 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, 2013, Oracle and/or its affiliates. All rights reserved.