// 下階層用テンプレート #topicpath ---- //ここにコンテンツを記述します。 書きかけです!!!!! APT(Annotation Processing Tool)という,Annotationをスキャンしていろいろな操作を行うツールがありますが、これをEclipseプラグインで制御する方法を調べました。色々とめんどくさいです。。 稼動確認はEclipse3.3で行いました。((Eclipse 3.2系ではFactoryを設定する画面が出てこず、うまくいきませんでした。)) **やってみる [#wd8dca8a] やってみます。Annotationは package nu.mine.kino.annotations; @Target(ElementType.TYPE) @Retention(RetentionPolicy.SOURCE) public @interface SpringBean { boolean singleton() default false; } みたいなモノを作ってみました。このAnnotationがされたクラスは、そのクラス名のBeanIDにしてSpringのBean定義ファイルに出力されるようにしてみます。((本質じゃないんで、プロパティなどのInjectionとかはムシしてみる))このAnnotationはjar化して後に出てくるプラグインにも、実際にこのAnnotationを使用するプロジェクトにも配布します。 これを読みこんでパースする処理は、APTのフレームワークを使用します。具体的には -com.sun.mirror.apt.AnnotationProcessorFactory -com.sun.mirror.apt.AnnotationProcessor などの実装クラスを作成すればOKです。詳細は後述したいと思います。 さて、上のインタフェースの実装がもうあるとして、Eclipseのプラグインを作ってみます。プラグインは nu.mine.kino.plugin.aptsamples というプロジェクトにします。 -MANIFEST.MF Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Aptsamples Plug-in Bundle-SymbolicName: nu.mine.kino.plugin.aptsamples;singleton:=true Bundle-Version: 1.0.0 Bundle-Activator: nu.mine.kino.plugin.aptsamples.Activator Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.jdt.apt.core Eclipse-LazyStart: true Bundle-ClassPath: services.jar, . beansanno.jar -plugin.xml ***関連リンク [#dca7e7c1] -[[Introduction to Annotation Processing in Eclipse>http://www.eclipse.org/jdt/apt/introToAPT.html]] -[[Help - Eclipse SDK>http://help.eclipse.org/stable/index.jsp?topic=/org.eclipse.jdt.doc.isv/reference/apt/overview-summary.html]] -[[Luca Zoni - ConditionAnnotatoin>http://www.ce.unipr.it/~lzoni/conditionAnnotation.html]] ---- この記事は #vote(おもしろかった,そうでもない) #comment #topicpath SIZE(10){現在のアクセス:&counter;}