如何使用java.util.Optional生成JaxB-Classes?

时间:2016-07-06 11:22:09

标签: java xsd jaxb maven-jaxb2-plugin

我使用jaxb2-maven-plugin从给定的XSD生成JaxB-Classes。 它工作正常。 但是现在我想在生成的Classes中使用java.util.Optional。但是JaxB生成了没有Optionals的类。所以我不得不对每个变量进行Null-Check。

有人知道如何配置jaxb2-maven-plugin以使用java.util.Optional吗?

谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

也许你可以找到更通用的东西,但我不确定这是否可行。 无论如何,你仍然可以为你想要选择的类型定义自定义适配器。

以下是Integer

的示例

首先,创建一个适配器

public final class IntegerOptionalAdapter extends OptionalAdapter<Integer>
{
} 

然后在绑定中使用此适配器

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