[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 メーリングリストの案内