Как создать JaxB-классы с помощью java.util.Optional?

Я использую jaxb2-maven-plugin для создания JaxB-классов из заданного XSD. Он работает нормально. Но теперь я хочу использовать java.util.Optional в сгенерированных классах. Но JaxB сгенерировал классы без опций. Поэтому я вынужден сделать Null-Check для каждой переменной.

Кто-нибудь знает, как настроить jaxb2-maven-плагин для использования java.util.Optional?

Спасибо за помощь!

Ответ 1

Возможно, вы могли бы найти нечто более общее, но я не уверен, что это возможно. В любом случае вы можете определить пользовательский адаптер для типов, которые вы хотите быть дополнительными.

Вот пример Integer

Сначала создайте адаптер

public final class IntegerOptionalAdapter extends OptionalAdapter<Integer>
{
} 

Затем используйте этот адаптер в своей привязке

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