型の発見方法
Eclipse JDTでは,Javaの型(クラスやインタフェースなどのCompilation Unit)はITypeインタフェースで表現される。ITypeインタフェースはバイナリ(Javaクラスファイル)またはテキスト(Javaソースファイル)を指している。開発するプラグインの中で,型の情報を知りたいな,と思ったときは,その型のITypeオブジェクトを取得することが第一歩となる。
型は,Javaプロジェクト内またはプロジェクトに登録されているライブラリ(JARファイルなど)のどこかに存在する。つまり,ITypeオブジェクトを得るためには,Javaプロジェクトのオブジェクト,すなわちIJavaProjectインタフェースのオブジェクトをまずは得る必要がある(ビューアクションなどのElementオブジェクトから取得,などなど)。
IJavaProjectオブジェクトを得られれば,あとはfindTypeメソッドに得たい型のFQN(Fully Qualified Name:パッケージ名もちゃんとついた完全な名前)を渡せば,ITypeオブジェクトを得ることができる。
IJavaProject project = ...;
IType type = project.findType("junit.framework.TestCase");
上記の例では,Javaプロジェクト内からJUnitのTestCaseクラスのITypeオブジェクトを探している。Javaプロジェクトのクラスパスにjunit.jarファイルが登録されていれば,TestCaseクラスのITypeオブジェクトを得ることができる。もちろんjunit.jarが登録されていなければTestCaseクラスを見つけることができないので,findTypeメソッドの結果はnullになる。
| 固定リンク
この記事へのコメントは終了しました。
コメント