package com.urbanairship.api.templates.parse;
import com.urbanairship.api.templates.model.TemplateVariable;
import com.urbanairship.api.templates.model.TemplateView;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;
import java.io.IOException;
public class TemplateViewSerializer extends JsonSerializer<TemplateView> {
@Override
public void serialize(TemplateView value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException {
jgen.writeStartObject();
jgen.writeStringField("name", value.getName());
if (value.getDescription().isPresent()) {
jgen.writeObjectField("description", value.getDescription().get());
}
if (value.getPartialPushPayload().isPresent()) {
jgen.writeObjectField("push", value.getPartialPushPayload().get());
}
jgen.writeArrayFieldStart("variables");
for (TemplateVariable var : value.getVariables()) {
jgen.writeObject(var);
}
jgen.writeEndArray();
jgen.writeEndObject();
}
}