Il existe quelques cas d'utilisation où un élément JAXBElement est requis :
- Un élément est à la fois
nillable="true"etminOccurs="0". Dans ce cas, qu'est-ce quenullsur le terrain cartographié/la propriété signifie ? Lorsque la propriété estJAXBElementune valeur nulle signifie que l'élément n'est pas présent et unJAXBElementenvelopper null signifie un élément XML avecxsi:nil="true". - Il y a 2 éléments globaux avec le même type complexe nommé. Étant donné que dans JAXB, les classes correspondent à des types complexes, un moyen est nécessaire pour capturer quel élément racine a été rencontré. Pour plus de détails, consultez cet article J'ai écrit.
- Il existe une structure de choix où soit
foooubaréléments peuvent se produire et ils sont du même type. Ici unJAXBElementest nécessaire car la simple rencontre d'uneStringla valeur n'est pas suffisante pour indiquer quel élément doit être marshalé. - Un élément avec
xsi:nilest rencontré dans le document qui contient des attributs. Dans cet exemple, l'objet correspondant à cet élément peut toujours être désorganisé pour contenir les valeurs d'attribut, mais JAXBElement peut toujours indiquer que l'élément était nul.