У меня есть xsd-файл с именем Person
с некоторыми элементами. Некоторые элементы имеют оба свойства minOccurs
и maxOccurs
set. Две строки в файле xsd могут выглядеть следующим образом.
<xsd:element name="NameOfElement" minOccurs="0" maxOccurs="unbounded">
<xsd:element name="NameOfAnotherElement" minOccurs="0">
В NetBeans я хочу генерировать Java-классы этого xsd-файла, используя JAXB.
Все элементы, которые имеют только свойство minOccurs
, получают как set, так и метод get в сгенерированном java-файле Person
, но элементы, у которых в xsd-файле установлены свойства minOccurs
и maxOccurs
, становятся списком. Таким образом, приведенные выше строки xsd становятся такими после генерации:
@XmlElement(name = NameOfElement)
protected List<Person.NameOfElement> nameOfElement;
@XmlElement(name = NameOfAnotherElement)
protected Person.NameOfAnotherElement nameOfAnotherElement;
Странно то, что переменная nameOfAnotherElement
получает и набор, и метод get в классе Person
java, а nameOfElement
получает только метод get.
Почему элементы, которые становятся List<>
в коде Java, не получают метод set (те элементы, у которых оба свойства minOccurs
и maxOccurs
установлены в xsd)?
Так что моя проблема в том, что я не могу установить NameOfElement для объекта Person, потому что он пропускает метод set, но он содержит метод get! Почему это так?