Lucas, eu tenho a anotação na classe, só não copiei aqui.
Tenho alguns converter, por exemplo para BigDecimal, com a anotação:
preciso dessa anotação para este converter?
Outra coisa, a classe fica dando erro de metodos não implementados, no caso o metodo convert, incluir o mesmo mas sem nenhum implementação.
Segue todo o código:
import java.util.ResourceBundle;
import com.thoughtworks.xstream.converters.MarshallingContext;
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
import br.com.caelum.vraptor.Converter;
import br.com.caelum.vraptor.ioc.Component;
import br.com.creati.smarterp.sistema.util.FormaPagamentoNotaFiscalEmunerator;
@Component
public class FormaPagamentoNotaFiscalEmuneratorConverter implements Converter<FormaPagamentoNotaFiscalEmunerator> { //do XStream
//marshal, vc pega o Object, faz o cast pro seu enum, e faz:
public void marshall(Object meuEnum, HierarchicalStreamWriter writer, MarshallingContext context) {
writer.startNode("valor");
writer.setValue( Integer.toString( ((FormaPagamentoNotaFiscalEmunerator) meuEnum).getValor()) );
writer.endNode();
writer.startNode("nome");
writer.setValue(((FormaPagamentoNotaFiscalEmunerator) meuEnum).getNome());
writer.endNode();
//mesma coisa pro nome.
}
public boolean canConvert(Class type) {
return type.isEnum() && type.equals(FormaPagamentoNotaFiscalEmunerator.class);
}
public FormaPagamentoNotaFiscalEmunerator convert(String arg0,
Class<? extends FormaPagamentoNotaFiscalEmunerator> arg1,
ResourceBundle arg2) {
// TODO Auto-generated method stub
return null;
}
}
O que está faltando? A forma que estou tentando serializar está correta?
Desde já obrigado.