Digesterアノテーションできました。

寝れなかったので作りました。
とりあえずソース(12KB)。
http://www.fk.urban.ne.jp/home/kishida/soft/digesterannotation/digesterannotation.zip


こまかい説明はあとにして、とりあえず、/src/digester/sample/Test.javaがサンプルです。
その他のクラスはマッピングするためのクラス。
ところどころアノテーションが埋め込んであります。かなり少ない。
これで、Test.javaコメントアウト部分やtest-rule.xmlと同じようにtest.xmlを処理できてます。
ってことで、そのままDigesterのサンプルとしてお使いいただけますな感じ。


ソースのコメントみると、6:00から作り始めたらしいので2時間ちょいでできたってことですが、アノテーションの処理の実装はアノテーションさえ決まってしまえばたいした時間かからないってことです。
で、効果がでかい。
XMLをちょっくら処理したいときの処理がすごく手軽になると思います。
あ、2時間でできたのはDigesterAnnotation.javaだけで、ほかはちまちまと前から作ってました。

アノテーションは単なる注釈

アノテーションって、ぜんぜん特別なものじゃなくて、単なるリフレクションのヒントですね。
処理的には、普通のリフレクション処理をして、アノテーションがついてるならそこから情報をもらう感じです。
リフレクションで情報をもらうだけもらっといて、リフレクションとのズレをアノテーションで解消するだけというか。
EJB3でも、クラス名・プロパティ名がテーブル名・カラム名と一致してればアノテーションいらないっちゃいらないですからね。