Bom dia pessoal,
Estou com um problema e não sei como solucionar ou se tem algum modo de ser feito.
Estou realizando a exportação de arquivos em XML utilizando o JAXB, já implemente grande parte da minha aplicação mas estou me debatendo com algumas peculiaridades e elas são as seguinte:
tenho uma classe A, que tem alguns atributos nativo do JAVA (String, Integer, Date) e ainda possui um atributo Classe B.
Classe A
[code]
public class A {
private String funcao;
private String horaTrabalho;
private B pessoa;
@XmlAttribute(name = "funcao")
public String getFuncao() {
return funcao;
}
@XmlAttribute(name = "horaTrabalho")
public String getHoraTrabalho() {
return horaTrabalho;
}
public String getPessoa() {
return pessoa;
}
//set's
}[/code]
Classe B
[code]public class B {
private String nome;
private Integer idade;
private String nomeMae;
private String nomePai;
@XmlAttribute(name = "nome")
public String getNome() {
return nome;
}
@XmlAttribute(name = "idade")
public Integer getIdade() {
return idade;
}
@XmlAttribute(name = "nomePai")
public String getNomePai() {
return nomePai;
}
@XmlAttribute(name = "nomeMae")
public String getNomeMae() {
return nomeMae;
}
//set's
}[/code]
Meu arquivo XML gerado fica do seguinte modo:
...
<a funcao="abc" horaTrablho="12">
<b nome="abcd" idade="23" nomeMae="mae abcd" nomePai="pai abcd"/>
</a>
...
A Classe B vira um elemento da Classe A.
Gostaria de saber como devo fazer o mapeamento para conseguir que a Classe A absorvesse os dados da Classe B e os tornassem atributos e não elemento. (estender a classe seria uma “gambiarra” mas funcionaria, porem é possível estender apenas 1 classe pai e em alguns casos preciso de 2 ou 3 classe)
Bem o resultado que eu desejo é:
...
<a funcao="abc" horaTrablho="12" nome="abcd" idade="23" nomeMae="mae abcd" nomePai="pai abcd" /a>
...
Espero que consigam entender a minha dúvida e que possam me ajudar.
Grato