2012-02-13 13 views
0

CastorオブジェクトをXML文字列にアンマーシャリングするためにCastorを使用しています。 Castorはnullオブジェクトに対してEmptyタグを生成していません。アンマーシャリング中にパラメータとして設定できるAPIはありますか?Castor Marshallerがnullオブジェクトの空タグを返す

ハンドラを使用して処理し、convertUponGetメソッドをオーバーライドして空の文字列を返す方法があります。しかし、それを行う方が良いですか?

手がかりが役立ちます。

答えて

0

私が見たことから、これを最悪から最悪の順に処理する3つの方法があります。

  1. http://stackoverflow.com/questions/9176479/how-to-tell-castor-to-marshall-a-null-field-to-an-empty-tagで説明したようにGeneralizedFieldHandlerを使用してください。フィールドハンドラは他のフィールドに対して再利用可能であり、クラスの動作を変更しません。

  2. nullをチェックするために指定されたフィールドのgetメソッドを変更し、nullの場合は空の文字列を返します。このアプローチはあなたのクラスの振る舞いを変えるので、コードの他の部分がこのフィールドのヌルに頼っているなら、これも良い考えではありません。あなたは問題に遭遇します。

  3. ヌルに遭遇したときに空の文字列を返すようにCastを自分で修正します。将来のリリースでのコードベースに統合するためにプロジェクトの開発者にそれを提出しない限り、あなたが使用しているツールを変更するのは本当に悪い考えです。これは、この問題が2007年に引き上げられたためではないようです。http://old.nabble.com/Forcing-marshalling-of-null-empty-values--to9080721.html#a9096375以前の場合は

関連する問題