2016-07-06 3 views
10

私は、特定のXSDからJaxB-Classesを生成するためにjaxb2-maven-pluginを使用します。 正常に動作します。 しかし、私は生成されたクラスでjava.util.Optionalを使いたいと思います。しかし、JaxBはオプションを持たないクラスを生成しました。ですから、私はすべての変数のNull-Checkを強制します。java.util.OptionalでJaxB-Classを生成するには?

誰でも、java.util.Optionalを使用するようにjaxb2-maven-pluginを設定する必要があることを知っていましたか?

ありがとうございました!

+1

にこのアダプタを使用し、整数

まずの一例です良い選択ではありません。なぜ、nillable = "true"フィールドでxsdを充実させないのですか? –

+0

私は@マークに同意します。生成されたクラスは変更しないでください。 同様の質問がありました。生成されたクラスを変更せずにカスタムアダプターを使用することは可能です。https://stackoverflow.com/questions/23071450/using-guavas-optional-with-xmlatt – Woody

答えて

0

もっと一般的なものが見つかるかもしれませんが、これが可能かどうかわかりません。 とにかく定義することができますカスタムオプションにしたいタイプのアダプター。ここで

はアダプタ

public final class IntegerOptionalAdapter extends OptionalAdapter<Integer> 
{ 
} 

を作成し、生成されたクラスでの作業あなたの結合

@XmlAttribute 
@XmlJavaTypeAdapter(IntegerOptionalAdapter.class) 
private Optional<Integer> someInteger; 
+0

実際には、フィールド。 getterでそれらを作成する方がよいでしょう。 –

関連する問題