Ответ 1
Возможно, вы могли бы найти нечто более общее, но я не уверен, что это возможно. В любом случае вы можете определить пользовательский адаптер для типов, которые вы хотите быть дополнительными.
Вот пример Integer
Сначала создайте адаптер
public final class IntegerOptionalAdapter extends OptionalAdapter<Integer>
{
}
Затем используйте этот адаптер в своей привязке
@XmlAttribute
@XmlJavaTypeAdapter(IntegerOptionalAdapter.class)
private Optional<Integer> someInteger;