|
Mirror API | |||||||||
前 次 | フレームあり フレームなし |
参照先:
説明
パッケージ | |
---|---|
com.sun.mirror.apt | 内の AnnotationProcessor 注釈プロセッサ と注釈処理ツール間で情報を通信するために使用されるクラス。 |
com.sun.mirror.declaration | プログラム要素の宣言をモデル化するために使用されるインタフェース。 |
com.sun.mirror.type | 型をモデル化するために使用されるインタフェース。 |
com.sun.mirror.util | 宣言 と 型 の処理に役立つユーティリティーです。 |
ミラー API はプログラムの意味的な構造をモデル化するために使用され、クラス、メソッド、フィールドなど、プログラムで宣言されるエンティティーを表現します。 個々の文や式などの、メソッドより下のレベルの構造は表現されません。
ミラー API は、プログラム要素の注釈を確認、処理する annotation processors の書き出しもサポートしています。たとえば注釈プロセッサは、元のコードとともに使用できる新しいソースファイルや XML ドキュメントを作成できます。
プログラムは、静的な形式またはビルド時の形式でモデル化されます。 クラスおよびオブジェクトの実行時の情報を提供する reflection API とは異なります。
API は、新しいコードの生成を直接サポートしていません。
Declaration
インタフェースおよびその com.sun.mirror.declaration
パッケージのサブインタフェースの階層を介してプログラム構造を表現します。Declaration は、パッケージ、クラス、メソッドなどのプログラム要素を表現します。
インタフェース階層は こちらです。
型は TypeMirror
インタフェースおよびその com.sun.mirror.type
パッケージのサブインタフェースの階層によって表現されます。 型には、プリミティブ型、クラス、インタフェース型、配列型、型変数、ワイルドカードなどがあります。
インタフェース階層は こちらです。
API では、宣言と型が明確に区別されています。
この区別は、単一の宣言が無限の型ファミリを定義できる総称型に重要です。
たとえば java.util.Set の宣言は raw 型 java.util.Set やパラメータ化型 java.util.Set<string>
を定義します。たとえば、注釈できるのは宣言のみで、メソッドのシグニチャーに表示できるのは型のみです。
モデル化できるプログラムは不完全な場合があり、未知のクラスやインタフェース型に依存する場合があります。
これは、クラスファイルが足りなかったり、足りない型が注釈プロセッサによって作成されることによる処理エラーの結果かもしれません。
このような未知の型が処理される方法については DeclaredType
を参照してください。
com.sun.mirror.util
パッケージは、宣言と型の処理に役立つユーティリティーを提供します。
宣言オブジェクトや型オブジェクトを操作する場合に、ビジターの設計パターンを使用するためのサポートも含まれています。
com.sun.mirror.apt
パッケージは、注釈プロセッサの書き出しをサポートします。注釈プロセッサツールと対話する機構を提供します。
|
Mirror API | |||||||||
前 次 | フレームあり フレームなし |