package cc.blynk.server.notifications.push.android; import cc.blynk.server.notifications.push.GCMMessage; import cc.blynk.server.notifications.push.enums.Priority; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.PropertyAccessor; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectWriter; /** * The Blynk Project. * Created by Dmitriy Dumanskiy. * Created on 26.06.15. */ public class AndroidGCMMessage implements GCMMessage { private static final ObjectWriter writer = new ObjectMapper() .setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.NONE) .setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY) .writerFor(AndroidGCMMessage.class); private final String to; private final Priority priority; private final GCMData data; public AndroidGCMMessage(String to, Priority priority, String message, int dashId) { this.to = to; this.priority = priority; this.data = new GCMData(message, dashId); } @Override public String getToken() { return to; } @Override public String toJson() throws JsonProcessingException { return writer.writeValueAsString(this); } }