Xml-attribute can have only simple type (like String
, Integer
etc.), so you cann't use OptionalAdapter<T>
.
If your field has type String
then adapter should have type OptionalAdapter<String>
.
You can do in next way:
- create additional class, and use is as XmlAdapter
public final class StringOptionalAdapter extends OptionalAdapter<String>
{
}
Page.java
@XmlAttribute
@XmlJavaTypeAdapter(StringOptionalAdapter.class)
private Optional<String> refId;