2009年3月27日金曜日

wicket XPathModel

wicketではOGNL(Object Graph Navigation Language)を利用してPOJOでなくても単なるメンバー変数にもアクセス出来るので自分でHttpServletRequestからgetParameterしてsetFoo()などをしていたことが何だかバカらしく思えるくらいで、その煩雑さから開放されるだけでも素晴らしい。
(個人的にはCompoundPropertyModelまでいくと、ちょっとtoo muchな気がしないでもないのですが)

そうなってくると、余計な事を考える時間が出来てしまい、バックエンドにAtomPub(or RSS)をPOJO(Bean)に詰め替えずにXMLDocumentに対してOGNL式の部分をXPathで記述できたら幸せだなーと気がつきました。

実装はこんな感じ?

new Label("title", new XPathModel(XmlDocument, "node/title"));

いや、自分が気が付くくらいだから既に実装があるんじゃないか?と思ってググってみたら、既にwicketでは2005年に同じ話題があったのですね。このメールスレッドの結論では「aargh. Shouldn't be too hard to write such a model.」なんて言ってるし、最新のソースでも見当たらないようなので実装には至っていないようです。

まだ英語がよく読めていないのですが、確かに汎用的なModelとなると大変そうだけど、条件を限定すれば
(XMLデータサイズ、valid xml)行けそうな気がします。

あくまでも自作アプリ用レベルなんでしょうかね。

0 件のコメント: