Se ho uno schema come il seguente:JAXB XJC generazione di codice di initializers elemento con la loro dichiarazione
<xs:element name="Book">
<xs:complexType>
<xs:sequence>
<xs:element ref="Chapter" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Chapter">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Word" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Word">
</xs:element>
Si genererà qualcosa come:
@XmlRootElement(name = "Book")
public class Book {
@XmlElement(name = "Chapter", required = true)
protected Chapter chapter;
E 'possibile generare il seguente anziché?
@XmlElement(name = "Chapter", required = true)
protected Chapter chapter = new Chapter();
Questo è così che anche se un file XML manca un elemento di capitolo all'interno di un libro, quando è deserializzati ci sarà ancora un oggetto libro creato in modo che è possibile fare book.getChapter(). getWord() e recupera una lista vuota, invece di verificare la presenza di null.