2011-02-02 22 views
11

Hay alguna manera de generar un método personalizado dentro de una clase generada con JAXB.Generar método personalizado adicional con jaxb-xjc

Busco tutoriales, incluido el tutorial de oracle, pero no encontré instrucciones claras sobre cómo puedo personalizar los métodos para una clase generada descrita en XML Schema.

Respuesta

6
+0

¡Excelente! Creo que es exactamente lo que estoy buscando ... ¡Lo intentaré y comentaré aquí sobre los resultados! ¡Gracias! – apast

+0

Usé una implementación existente de Code Injection, exactamente la misma que se describe en el artículo. Funcionó como yo esperaba. ¡Gracias! – apast

+0

el artículo parece ser viejo. ¿Hay alguna forma nueva y avanzada de hacer lo mismo? – ulab

7

he encontrado que lo siguiente es la mejor manera de añadir un comportamiento personalizado:

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

Puede implementar el comportamiento personalizado para una clase generada JAXB BaseType en una clase personalizada BaseTypeExt que extienda s la clase generada JAXB BaseType.

También le dice a JAXB que use su clase extendida BaseTypeExt (en lugar de la clase BaseType que amplía) como la clase base para todas las clases que normalmente tendrían extendida la clase BaseType.

Utilicé esto con éxito para anular el método toString() en mi clase generada BaseType.

Esto parece más simple que escribir un complemento XJC.

Cuestiones relacionadas