[Seasar-user:18601] [Fisshplate]独自パーサで発生させる例外でのメッセージの指定

Go Takahashi [E-MAIL ADDRESS DELETED]
2009年 10月 8日 (木) 07:41:58 JST


高橋と申します。

六さん>
諸般の事情でFisshplateの調査が急遽中断してしまい、その間レス
できておりませんでした。大変失礼しました。バインド変数の
置換の件のご対応&0.1.4正式リリースありがとうございました!!

さて、いよいよFisshplateの実案件での利用を具体的に始めようと
思っています。今回は要件的に独自タグのパーサを作成する必要が
あるのですが、そこでちょっと、気になることが発生しています。

パーサなどで例外を投げる際に、Fisshplateで既に提供されている
FPExceptionのサブクラスを使いたいのですが、コンストラクタで
messageIdを指定する必要があり、しかもそれが、
fisshplateMessages.propertiesで定義されたものでないとダメ
なので、単純には利用できません。

ResourceBundleのロードの優先度が クラス > プロパティファイル
なのを利用して、FQCNがfisshplateMessagesなResouceBundleの
サブクラスを作成することでResouceUtilを騙して(w)、独自の
messageIdを無理やり定義することが可能・・・だということは分かり
ましたが、苦肉の策な感じで微妙です。

無論そんなややこしいことをせず、FPExceptionのサブクラスを
全く一から作成すればいいのですが、メッセージへのエラー発生行
の埋め込み処理などがprivateなメソッドなので再利用できず、
同じような事を自前で実装しなくてはならないのですよね・・・。

実装量自体は微々たるものなので、優先度低くて全然構わないの
ですが、この辺り独自パーサ実装者に対して配慮を頂けると
ありがたいです。

案件では、S2Fisshplate経由で利用する予定ですので、
FPExceptionではなくSRuntimeExceptionのサブクラスとして
例外を作成し、エラー発生行の算出やメッセージへの埋め込みも
自前で行いたいと思います。

状況をお伝えしようと思ったら長くなってしまいました・・・。
すみません・・・。

では、よろしくお願いいたします。




Seasar-user メーリングリストの案内