JAXB Java para XML: Como não imprimir os membros de tipo primitivo quando padrão
-
22-07-2019 - |
Pergunta
primeira tentativa de usar este site cool - depois de procurar por 2 horas: Então, eu tenho um Java Bean que é dado (I só pode anotar não alterar) e necessidade de mapeá-lo para XML usando JAXB. Gostaria primitivos tipos não ser impressos quando eles contêm sua língua padrão, ou um padrão definido pelo usuário.
Como disse eu não posso mudar o feijão de java, e, portanto, alterar os tipos primitivos em seus envoltórios objeto homólogos.
Como você faz isso melhor?
feijão Amostra:
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 este instanciação, o que eu gostaria é o seguinte resultado:
<foo><name>Duke</name></foo>
Solução
Você pode usar XmlAdapters de JAXB. Availible desde JAXB 2.0 (JDK 6.0)
Usando o adaptador, você deixe o feijão sozinho e anotar / alterar uma classe completamente diferente. Este não deve ser um problema no seu caso.