私はこのようなものを持っています:
Java クラス
.....
@XStreamAlias("SOME_TAG")
private String someAttribute;
.....
<ROOT>
<ANOTHER_TAG>VALUE</ANOTHER_TAG>
</ROOT>
私のxmlには、この「SOME_TAG」が必要です。何らかの理由で欠落している場合は、例外をスローする必要があります。
XStreamでそれを行うことはできますか?
よろしく
私はこのようなものを持っています:
Java クラス
.....
@XStreamAlias("SOME_TAG")
private String someAttribute;
.....
<ROOT>
<ANOTHER_TAG>VALUE</ANOTHER_TAG>
</ROOT>
私のxmlには、この「SOME_TAG」が必要です。何らかの理由で欠落している場合は、例外をスローする必要があります。
XStreamでそれを行うことはできますか?
よろしく
私はxstreamの実験的なユーザーではありませんが、これを行います。
純粋に XStream を使用する場合、次の 2 つのオプションがあると思います。
XStream は JDK シリアライゼーションと同じメカニズムを使用するため、Object readResolve()
デシリアライズされるクラスにメソッドを簡単に実装できます。このメソッドは、オブジェクトが初期化され、すべてのフィールドが XStream によって設定された後に呼び出されるため、このメソッドを使用してsomeAttribute
フィールドが有効かどうかを確認できます。有効なnull
場合は、例外をスローできます。(XStream の例はこちらにあります: http://x-stream.github.io/faq.html#Serialization_initialize_transient
もう 1 つの方法は、クラスのカスタムコンバーターを作成し、フィールドが入力されているかどうかを確認することです。