Pregunta

Primer intento de usar este sitio genial, después de buscar durante 2 horas: Así que tengo un Java Bean que se proporciona (solo puedo anotar, no cambiar) y necesito asignarlo a XML usando JAXB. Me gustaría que los tipos primitivos no se impriman cuando contienen su idioma predeterminado o un valor predeterminado definido por el usuario.

Como dije, no puedo cambiar el bean Java y, por lo tanto, cambiar los tipos primitivos en sus contrapartes de Object Wrappers.

¿Cómo lo haces mejor?

Bean de muestra:

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";

para esta instanciación, lo que me gustaría es el siguiente resultado:

<foo><name>Duke</name></foo>
¿Fue útil?

Solución

Podría usar los adaptadores Xml de JAXB. Disponible desde JAXB 2.0 (JDK 6.0)

Usando el adaptador, deja solo el bean y anota / cambia una clase completamente diferente. Esto no debería ser un problema en su caso.

Vea mi respuesta aquí

Ver la publicación del blog del autor de JAXB

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top