-Nirvana(2)-Nirvanaとは何か
いきなりNirvanaとは何かとは台上談ですが、ソースをひととおり見させていただいてポイントをまとめてみます。NirvanaはHTMLをプリプロセスしてJSPファイルを作成し、その作成JSPをJasperにコンパイルさせてサービスするものです。プリプロセッサとコンパイラおよびサーブレットに機能が分類できるでしょう。またプリプロセッサはHandlerと呼ばれる一群の実装集があって、それらを増やすことによって機能が向上していくつくりになります。一連のワークフローを(若干の省略とウソもありますが)記述すると、
- NirvanaServletでリクエストを受け付ける。
- コンパイルされたServletを実行。
まず、GOODな点はその着眼点と実装能力。自分も似たことを思いついたので称揚しづらいのですが、普通こんなの思いつかないよ。ましてや動くもの実装できませんって!間接的に自分を褒めてるみたいですが、真にそう思います。実装もHandler群に処理を委譲したり、そのファクトリーは定義を外だしして疎結合な作りに持ってくデザインは素敵です。とにかく実際動くしね。CVS中にはXMLへのバインディング外だしの仕組みなどが無かったので、将来機能なのでしょう。ちなみにHandler種類は以下のとおりです。
- _s2jsf
- META
- input
- form
- textArea
- el
- select
- option
- annotation
- object
- counter