S2Fisshplate経由ではカスタムパーサを指定できない?
S2Fisshplate(0.1.5-SNAPSHOT@276)経由でFisshplateを使う際に、カスタムパーサが渡せないような気が…。
S2FisshplateInterceptor#addRowParser(Class clazz) みたいなメソッドがあれば、カスタマイザに渡すインターセプタを自前で定義する(つまり、s2fisshplate.diconを使わない)ってことで実現はできそう。こんな感じ。
<component name="interceptor" class="org.seasar.fisshplate.interceptor.S2FisshplateInterceptor"> <initMethod name="addRowParser"> <arg>@foo.MyRowParser@class</arg> </initMethod> </component> <component class="org.seasar.fisshplate.meta.impl.TemplateMetaDataFactoryImpl" />
でも、s2fisshplate.diconを使いながらも、カスタムパーサを指定できる、なんかもうちょっとスマートなやり方もありそうな気もするなあ。どうなんだろ。
追記
MLに投げたら早速、id:rokugen さんに対応していただきました。
S2Fisshplate 0.1.5-SNAPSHOT@279以降は、以下のようにしてカスタムパーサを追加できます。
addOnParserContainerというコンポーネントが定義されているので、 これにコンポーネント登録した独自パーサを登録します。 例えばTestRowParserというパーサを追加する場合 <component name="addOnParserContainer" class="org.seasar.fisshplate.core.parser.container.AddOnParserContainer" > > <!-- ここから追記 --> <initMethod name="addRowParser" > <arg> <component class="org.seasar.fisshplate.interceptor.TestRowParser" ></component> </arg> </initMethod> <!-- ここまで --> </component>
http://ml.seasar.org/archives/seasar-user/2009-October/018796.html
ああ、ありがたや。