Javassist 3.1とjavaagentでmemorization

http://d.hatena.ne.jp/bellbind/20050903/p2
Java で eval な javassist と、
クラス・メソッド・フィールドの修飾子をユーザー定義できる annotation を利用して、
副作用のないメソッド(値の変換のための関数)なら
いつも使える修飾子 @memorize を提供する。

泥臭い実装と、きれいなインターフェイスが実にJavaらしい。