Duvida vraptor

Ola pessoal,

estou usando no meu projeto o vraptor e estou usando a função abaixo para serializar meu objeto para xml

como os senhores podem ver tenho o objeto certidão que nele tem um objeto do tipo aprovado, até ai tudo OK. esta acontecendo tudo certinho mas eu queria saber se tem como eu serializar junto uma variavel qualquer criada, no caso sem ser do objeto. pois preciso informar uma messagem ou um boolen por exemplo quando esses objetos vierem nulo, pois antes de serem passados ai existe uma consulta no banco para trazer a certidão neste caso.

algum pode me ajudar???

Faça outro result desse para o caso que vc precisa…

cara eu já tentei fazer isso como por exemplo:

result.use(xml()).from(certidao).include(“aprovado”).serialize();
result.use(xml()).from(status).serialize();

mas ele da erro no browser:

Erro no processamento de XML: caracteres sem utilidade após um elemento do documento Posição: http://localhost:8080/certidaoconcursospublicos/getAprovado/95224831334 Número da linha 72, coluna 8:</list><boolean>true</boolean> -------^

acho que ele não aceita dois serialize, talvez ele queira fazer um e outro e da erro…sei lá…

amigo seguinte eu fiz nessa situaçãoa aqui:

result.use(xml()).from(certidao).include("status","aprovado","aprovado.concurso","aprovado.categoriafuncional","aprovado.categoriafuncional.nivel","aprovado.area").serialize(); result.use(xml()).from(status).serialize();

e ele disse que status não é um atributo de certidão, correto! não é, mas é justamente isso, quero colocar junto uma variavel que eu criar no bloco do metodo por ex:

é pessoal vendo aqui vi que o codigo que eu postei estava realmente errado, na linha de cima tinha um include de status que relamente não é atributo de certidao, mas dai tirei e veio aquele mesmo erro no browser.

alguem sabe de algo ?

cria uma representação pro seu objeto certidao

CertidaoRepresentation e nele vc add o atributo status além dos demais

Faria algo do tipo:

public class CertidaoRepresentation {
    // mesmos atributos de certidão + status;

CertidaoRepresentation(Certidao certidado, Status status){
 this.aprovado = certidao.aprovado;
// demais atrinutos
this.status = status;
}
result.use(xml()).from(new CertidaoRepresentation(certidao, status)).include(...).serialize();

Isso mesmo… Eu entendi a sua dúvida errado… O que o kadu.m.lino falou é a solução mais simples e elegante.

hummmmm
entendi mas asism…eu resolvi criando uma List de Object e setando dentro dela as informações que eu precisava dai quando os objetos vierem nulos eu criava outra linha de result.use…

é uma solução interessante??

resolveu.

Não.

Lista de Objects aceita qualquer coisa. Crie uma classe que vai ter justamente esse papel. Qualquer manutenção você faz na classe, e não em uma lista de objects…

entendi, vlw ai galera pela ajuda.