Nous avons ce XML:Représentant l'élément comme booléen avec JAXB?
<Summary>
<ValueA>xxx</ValueA>
<ValueB/>
</Summary>
<ValueB/>
aura jamais d'attributs ou des éléments internes. C'est un élément de type booléen - il existe (vrai) ou pas (faux). JAXB a généré une classe Summary avec un membre String valueA, ce qui est bon. Mais pour ValueB, JAXB a généré une classe interne et un membre correspondant ValueB:
@XmlElement(name = "ValueB")
protected Summary.ValueB valueB;
Mais ce que je voudrais est membre boolean
et pas classe interne:
@XmlElement(name = "ValueB")
protected boolean valueB;
Comment pouvez-vous faire ce?
Je ne cherche pas à régénérer les classes, je voudrais juste faire le code changer manuellement.
Mise à jour: Conformément à la réponse acceptée, nous avons créé une nouvelle méthode renvoyant la valeur booléenne conditionnelle si valeurB == null. Comme nous utilisons Hibernate, nous avons annoté valueB avec @Transient
et annoté le getter booléen avec l'annotation @Column
de Hibernate.
Avez-vous vraiment besoin d'un champ booléen? Pourquoi pas seulement les méthodes booléennes getter/setter? – skaffman
Yup, c'est ce que nous avons fait .. –