2011-02-02 12 views
11

C'è un modo per generare un metodo personalizzato all'interno di una classe generata con JAXB.Genera ulteriore metodo personalizzato con jaxb-xjc

Cerca tra le esercitazioni, incluso il tutorial di oracle, ma non ho trovato istruzioni chiare su come utilizzare metodi personalizzati per una classe generata descritta su XML Schema.

risposta

6
+0

Eccellente! Penso che sia esattamente quello che sto cercando ... Ci proverò e commenterò qui sui risultati! Grazie! – apast

+0

Ho utilizzato un'implementazione esistente di Code Injection, esattamente la stessa descritta nell'articolo. Ha funzionato come mi aspettavo. Grazie! – apast

+0

l'articolo sembra essere vecchio. Esistono nuovi modi avanzati per fare lo stesso? – ulab

7

ho trovato quanto segue per essere il modo migliore per aggiungere comportamento personalizzato:

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

Puoi implementare il comportamento personalizzato per una classe BaseType generata da JAXB in una classe personalizzata BaseTypeExt che si estende s la classe BaseType generata da JAXB.

Si dice inoltre a JAXB di utilizzare la classe estesa BaseTypeExt (anziché la classe BaseType che estende) come classe base per tutte le classi che normalmente avrebbero esteso la classe BaseType.

L'ho usato con successo per sovrascrivere il metodo toString() nella mia classe BaseType generata.

Questo sembra più semplice rispetto alla scrittura di un plug-in XJC.

Problemi correlati