package br.gov.mj.sislegis.app.rest.serializers; import br.gov.mj.sislegis.app.model.Proposicao; import com.fasterxml.jackson.core.JsonGenerationException; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; import java.io.IOException; public class CompactProposicaoSerializer extends JsonSerializer<Proposicao> { @Override public void serialize(Proposicao value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeStartObject(); writeProposicao(value, jgen); jgen.writeEndObject(); } protected void writeProposicao(Proposicao value, JsonGenerator jgen) throws IOException, JsonGenerationException { if (value.getId() != null) { jgen.writeNumberField("id", value.getId()); } jgen.writeStringField("ementa", value.getEmenta()); jgen.writeStringField("tipo", value.getTipo()); jgen.writeStringField("numero", value.getNumero()); jgen.writeStringField("ano", value.getAno()); jgen.writeStringField("sigla", value.getSigla()); jgen.writeStringField("comissao", value.getComissao()); jgen.writeNumberField("idProposicao", value.getIdProposicao()); jgen.writeStringField("origem", value.getOrigem().name()); jgen.writeStringField("linkProposicao", value.getLinkProposicao()); } }