com.stackmob.sdk.push.StackMobPushTokenDeserializer.java Source code

Java tutorial

Introduction

Here is the source code for com.stackmob.sdk.push.StackMobPushTokenDeserializer.java

Source

/**
 * Copyright 2011 StackMob
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.stackmob.sdk.push;

import com.google.gson.*;
import java.lang.reflect.Type;

public class StackMobPushTokenDeserializer implements JsonDeserializer<StackMobPushToken> {
    public StackMobPushToken deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) {
        JsonObject obj = json.getAsJsonObject();

        JsonPrimitive tokenStringPrimitive = obj.getAsJsonPrimitive("token");
        String tokenString = tokenStringPrimitive.getAsString();

        JsonPrimitive tokenTypePrimitive = obj.getAsJsonPrimitive("type");
        StackMobPushToken.TokenType tokenType = StackMobPushToken.TokenType
                .valueOf(tokenTypePrimitive.getAsString());

        JsonPrimitive registeredMSPrimitive = obj.getAsJsonPrimitive("registered_milliseconds");
        long registeredMS = registeredMSPrimitive.getAsInt();

        return new StackMobPushToken(tokenString, tokenType, registeredMS);
    }
}