Mueller2016
Mueller2016

Reputation: 205

How to generate JaxB-Classes with java.util.Optional?

I use the jaxb2-maven-plugin to generate JaxB-Classes from a given XSD. It works fine. But now I want to use java.util.Optional in the generated Classes. But JaxB generated the Classes without the Optionals. So I'm forced to make a Null-Check of every Variable.

Did anybody know how the jaxb2-maven-plugin has to be configured to use the java.util.Optional?

Thanks for you help!

Upvotes: 11

Views: 1517

Answers (1)

Woody
Woody

Reputation: 864

Maybe you could find something more generic but i'm not sure if this is possible. Anyway you can still define custom Adapter for types you want to be optional.

Here is an example of Integer

First, create an Adapter

public final class IntegerOptionalAdapter extends OptionalAdapter<Integer>
{
} 

Then use this adapter in your binding

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

Upvotes: 1

Related Questions