users@jaxb.java.net

force to use primitive types

From: aka.fe2s <aka.fe2s_at_gmail.com>
Date: Fri, 27 May 2011 05:19:59 -0400

Hello,

I'm migrating application from JAXB 1 to JAXB 2. The problem I faced
is that previously JAXB 1 generated primitives types (int, boolean,
..) and isSetXXX() methods everywhere, even though the element was
optional (minOccurs="0"). If the element was absent in XML, it set the
property to default value (0 for int, false for boolean, ...)

The problem is that JAXB 2 generates wrappers (Integer, Boolean) in
such cases. It leads to NPE in my code.
I tried to set
 <jxb:globalBindings
         generateIsSetMethod="true" />

and/or

<jxb:javaType name="int" xmlType="xs:int"
                    parseMethod="javax.xml.bind.DatatypeConverter.parseInt"
                    printMethod="javax.xml.bind.DatatypeConverter.printInt" />

but it doesn't help.

Is there a way to force JAXB 2 behave like JAXB 1 ?

Thanks, Oleksiy.