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

Mue*_*016 11 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?

谢谢你的帮助!

Woo*_*ody 1

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

这是一个整数的例子

首先,创建一个适配器

public final class IntegerOptionalAdapter extends OptionalAdapter<Integer>
{
} 
Run Code Online (Sandbox Code Playgroud)

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

@XmlAttribute
@XmlJavaTypeAdapter(IntegerOptionalAdapter.class)
private Optional<Integer> someInteger;
Run Code Online (Sandbox Code Playgroud)