У нас есть этот XML:
<Summary>
<ValueA>xxx</ValueA>
<ValueB/>
</Summary>
<ValueB/>
никогда не будет иметь никаких атрибутов или внутренних элементов. Это элемент логического типа - он существует (true) или нет (false).
JAXB сгенерировал класс Summary с элементом String valueA, что хорошо. Но для ValueB JAXB сгенерировал внутренний класс ValueB и соответствующий член:
@XmlElement(name = "ValueB")
protected Summary.ValueB valueB;
Но я бы хотел boolean
член и нет внутренний класс:
@XmlElement(name = "ValueB")
protected boolean valueB;
Как вы можете это сделать?
Я не собираюсь обновлять классы, я бы хотел просто изменить код вручную.
Обновление : в соответствии с принятым ответом мы создали новый метод, возвращающий логическое значение, зависящее от того, является ли valueB == нулевым.
Поскольку мы используем Hibernate, мы аннотировали значение B с помощью @Transient
и аннотировали логический метод получения с помощью аннотации @Column
в Hibernate.