2009-06-24 8 views
0

Première tentative d'utilisation de ce site sympa - après une recherche de 2 heures: J'ai donc un Java Bean qui est donné (je ne peux qu'annoter ne pas changer) et j'ai besoin pour le mapper en XML en utilisant JAXB. Je voudrais que les types de primitives ne soient pas imprimés quand ils contiennent leur langue par défaut, ou un défaut défini par l'utilisateur. Comme je l'ai dit je ne peux pas changer le bean java, et donc changer les types primitifs dans leurs homologues Object Wrappers.JAXB Java vers XML: comment ne pas imprimer les membres de type primitif par défaut

Comment faites-vous le meilleur?

haricot Exemple:

class Foo { 
public String name; 
// -1 is user defined default, to indicate field is not set. 
public long someIdx=-1; 
// ... 
} 

Foo f = new Foo(); 
f.name = "Duke"; 

pour cette instanciation, ce que je voudrais est la sortie suivante:

<foo><name>Duke</name></foo> 

Répondre

0

Vous pouvez utiliser les XmlAdapters de JAXB. Disponible depuis JAXB 2.0 (JDK 6.0)

En utilisant l'adaptateur, vous laissez le bean seul et annotez/modifiez une classe complètement différente. Cela ne devrait pas poser de problème dans votre cas.

See my reply here

See JAXB's author's blog post

+0

Merci, je viens d'écrire acutally maintenant convertisseurs encapsulant les types qui était la meilleure façon. –

Questions connexes