あけましておめでとうございます。今年もJava技術最前線ではJavaの新しい技術を取りあげていく所存ですので,よろしくお願いします。
さて,新年はじめてのJava技術最前線で取りあげるのはアノテーションです。
えっ,アノテーションってJava 2 SE 5.0の機能ではなかったっけ,と思う人も多いはず。確かに,アノテーションはJ2SE 5.0で取り入れられた機能ですが,Java SE 6ではアノテーションを処理するための新しい機能が取り入れられたのです。
J2SE 5.0では,アノテーションを処理するため,次の3つの方法がありました。
- Javadoc
- apt (Annotation Processing Tool)
- リフレクション
この中で最も使用されていたのが,aptです。しかし,aptはあくまでも非標準のツールでした。
アノテーションはJSR 175で仕様が策定されましたが,JSR 175にはアノテーションの処理に関してはスコープに入っていません。そこで,J2SE 5.0がリリースした後,新たにJSR 269 Pluggable Annotation Processing APIが策定されました。
Java SE 6ではこのJSR 269が取り入れられ,javacコマンドでアノテーションを処理することが可能になったのです。
ということで,今月はアノテーション処理のためのPluggable Annotation Processing APIについて紹介していきます。
ところで,読者のみなさんはアノテーションを使っていますか? 最近はJUnitやSpring Frameworkなどアノテーションを活用している場面も増えています。また,本連載で取りあげたJAXBやJAX-WSは多くのアノテーションを使用していました。
アノテーションを使用したことがある人は増えているはずですが,アノテーションを自作したという人はどのくらいいるのでしょうか。ほとんどの人がアノテーションは使うだけという状態になっているのではないでしょうか。
そこで,今週はまずアノテーションを処理する前に,自作のアノテーションを自作することについて解説していきます。