package br.gov.mj.sislegis.app.parser.camara.xstream;
import br.gov.mj.sislegis.app.parser.TipoProposicao;
import com.thoughtworks.xstream.converters.Converter;
import com.thoughtworks.xstream.converters.MarshallingContext;
import com.thoughtworks.xstream.converters.UnmarshallingContext;
import com.thoughtworks.xstream.io.HierarchicalStreamReader;
import com.thoughtworks.xstream.io.HierarchicalStreamWriter;
class TipoConverter implements Converter {
@Override
public boolean canConvert(Class type) {
return String.class.equals(type);
}
@Override
public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) {
// Desnecessario, somente parseia XML->Objetos
}
@Override
public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {
if ("tipoProposicao".equals(reader.getNodeName())) {
TipoProposicao au = (TipoProposicao) context.convertAnother(reader, TipoProposicao.class);
if (au != null && au.getNome() != null && au.getNome() != null) {
return au.getNome();
} else {
return "";
}
}
return reader.getValue();
}
}