All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.urbanairship.api.push.parse.notification.wns.WNSBindingSerializer Maven / Gradle / Ivy

There is a newer version: 9.4.2
Show newest version
/*
 * Copyright (c) 2013-2016.  Urban Airship and Contributors
 */

package com.urbanairship.api.push.parse.notification.wns;

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import com.urbanairship.api.push.model.notification.wns.WNSBinding;

import java.io.IOException;

public class WNSBindingSerializer extends JsonSerializer {
    @Override
    public void serialize(WNSBinding binding, JsonGenerator jgen, SerializerProvider provider) throws IOException {
        jgen.writeStartObject();

        jgen.writeStringField("template", binding.getTemplate());

        if (binding.getVersion().isPresent()) {
            jgen.writeNumberField("version", binding.getVersion().get());
        }

        if (binding.getFallback().isPresent()) {
            jgen.writeStringField("fallback", binding.getFallback().get());
        }

        if (binding.getLang().isPresent()) {
            jgen.writeStringField("lang", binding.getLang().get());
        }

        if (binding.getBaseUri().isPresent()) {
            jgen.writeStringField("base_uri", binding.getBaseUri().get());
        }

        if (binding.getAddImageQuery().isPresent()) {
            jgen.writeBooleanField("add_image_query", binding.getAddImageQuery().get());
        }

        if (binding.getImageCount() > 0) {
            jgen.writeArrayFieldStart("image");
            for (String text : binding.getImages().get()) {
                jgen.writeString(text);
            }
            jgen.writeEndArray();
        }

        if (binding.getTextCount() > 0) {
            jgen.writeArrayFieldStart("text");
            for (String text : binding.getText().get()) {
                jgen.writeString(text);
            }
            jgen.writeEndArray();
        }

        jgen.writeEndObject();
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy