-OgnlRttiの限界

いろいろ考えましたが、OgnlRttiでは限界があります。ListやMapの中身はObject型でしかないので、実行時の型が不明なので、[map].[key].[property]というようなOGNL式は、keyのところでObjectになっちゃうのでpropertyの型を検証できないのです。同様に、<component name="name">initialContext.lookup("jndi/name")</component>という場合の型がわかりません。ここは、最後の検証時に型がアップキャスト可能かを調べればいいように思ってますが、ちょっと痒いね。
OgnlRttiのほう、昼食後にユースケースでテストケース書いてみたところバグを見つけたので修正。いま、最後のひとつ、staticなメンバーをstaticな方法でアクセスするところを調べています。OGNL内部でPropertyAccssorを使わないルートで値取得しているのでこれだけアウト。つまり、「@test.Person@STATIC」の取得。ルートにtest.Personを突っ込んで「STATIC」は取れてます。また、メソッドはstatic、非static関わらずOK。あとひとつ。これが終わったらビルダーを直したうえで、いよいよ実際の検証にRttiを組み込みます。