Mirror API

Mirror API

ミラー API はプログラムの意味的な構造をモデル化するために使用され、クラス、メソッド、フィールドなど、プログラムで宣言されるエンティティーを表現します。

参照先:
          説明

パッケージ
com.sun.mirror.apt 内の AnnotationProcessor 注釈プロセッサ と注釈処理ツール間で情報を通信するために使用されるクラス。
com.sun.mirror.declaration プログラム要素の宣言をモデル化するために使用されるインタフェース。
com.sun.mirror.type 型をモデル化するために使用されるインタフェース。
com.sun.mirror.util 宣言 の処理に役立つユーティリティーです。

 

ミラー API はプログラムの意味的な構造をモデル化するために使用され、クラス、メソッド、フィールドなど、プログラムで宣言されるエンティティーを表現します。 個々の文や式などの、メソッドより下のレベルの構造は表現されません。

ミラー API は、プログラム要素の注釈を確認、処理する annotation processors の書き出しもサポートしています。たとえば注釈プロセッサは、元のコードとともに使用できる新しいソースファイルや XML ドキュメントを作成できます。

API の特性

プログラムは、仮想マシンのレベルではなく、言語のレベルで表現されます。たとえば入れ子のクラスは、VM が認識できる翻訳された形式ではなく、一番上の構造として処理されます。 ソースコードもコンパイルされたコード(クラスファイル)もこのようにモデル化されます。

プログラムは、静的な形式またはビルド時の形式でモデル化されます。 クラスおよびオブジェクトの実行時の情報を提供する reflection API とは異なります。

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 パッケージは、注釈プロセッサの書き出しをサポートします。注釈プロセッサツールと対話する機構を提供します。

導入されたバージョン:
1.5


Mirror API

バグや機能要求の報告
Copyright 2006 Sun Microsystems, Inc. All Rights Reserved. Use is subject to license terms.