2011-02-02 2 views
11

Il existe un moyen de générer une méthode personnalisée dans une classe générée avec JAXB.Générer une méthode personnalisée supplémentaire avec jaxb-xjc

Je recherche autour de tutoriels, y compris le tutoriel d'Oracle, mais je n'ai pas trouvé d'instructions claires comment puis-je personnalisé des méthodes à une classe générée décrite sur XML Schema.

Répondre

6
+0

Excellent! Je pense que c'est exactement ce que je cherche ... Je vais essayer et commenter ici les résultats! Merci! – apast

+0

J'ai utilisé une implémentation existante de Code Injection, exactement la même que celle décrite dans l'article. Cela a fonctionné comme je m'y attendais. Merci! – apast

+0

l'article semble être vieux. Existe-t-il de nouvelles façons avancées de faire de même? – ulab

7

J'ai trouvé ce qui suit pour être la meilleure façon d'ajouter un comportement personnalisé:

http://jaxb.java.net/guide/Adding_behaviors.html

Vous pouvez implémenter le comportement personnalisé pour un BaseType généré par JAXB dans une classe personnalisée BaseTypeExt qui étend s JAXB a généré la classe BaseType.

Vous demandez également à JAXB d'utiliser votre classe étendue BaseTypeExt (au lieu de la classe BaseType qu'il étend) en tant que classe de base pour toutes les classes qui auraient normalement étendu la classe BaseType.

Je l'ai utilisé avec succès pour remplacer la méthode toString() dans mon classe BaseType généré.

Cela semble plus simple que d'écrire un plugin XJC.

Questions connexes