package com.xtremelabs.devicewall.protocol;
import java.lang.reflect.Type;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
public class ProtocolDeserializer implements JsonDeserializer<Protocol> {
@Override
public Protocol deserialize(final JsonElement json, final Type typeOfT, final JsonDeserializationContext context) throws JsonParseException {
if (json == null)
return null;
final JsonObject jsonObject = json.getAsJsonObject();
if (jsonObject == null)
return null;
final JsonElement typeJsonElement = jsonObject.get(Protocol.TYPE);
if (typeJsonElement == null)
return null;
final JsonElement idJsonElement = jsonObject.get(Protocol.ID);
Long id = null;
if (idJsonElement != null && !idJsonElement.isJsonNull())
id = idJsonElement.getAsLong();
final String typeString = typeJsonElement.getAsString();
return new Protocol(id, typeString, null);
}
}