Jeśli mam schematu takich jak:JAXB XJC generowania kodu z inicjalizatorów elementu z ich deklaracji
<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>
To wygeneruje coś takiego:
@XmlRootElement(name = "Book")
public class Book {
@XmlElement(name = "Chapter", required = true)
protected Chapter chapter;
Czy możliwe jest generowanie następujących zamiast?
@XmlElement(name = "Chapter", required = true)
protected Chapter chapter = new Chapter();
To jest tak, że nawet jeśli plik XML brakuje elementu rozdział w książce, kiedy to unmarshalled wciąż będzie obiektem Book stworzył więc jest to możliwe do zrobienia book.getChapter(). getWord() i odzyskaj pustą listę, zamiast sprawdzać wartość null.