donky.microsoft.aspnet.signalr.client.CalendarSerializer Maven / Gradle / Ivy
/*
Copyright (c) Microsoft Open Technologies, Inc.
All Rights Reserved
See License.txt in the project root for license information.
*/
package donky.microsoft.aspnet.signalr.client;
import java.lang.reflect.Type;
import java.util.Calendar;
import java.util.Date;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonParseException;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
public class CalendarSerializer implements JsonSerializer, JsonDeserializer {
private static final DateSerializer mInternalSerializer = new DateSerializer();
@Override
public Calendar deserialize(JsonElement element, Type type, JsonDeserializationContext ctx) throws JsonParseException {
Date date = mInternalSerializer.deserialize(element, Date.class, ctx);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
return calendar;
}
@Override
public JsonElement serialize(Calendar calendar, Type type, JsonSerializationContext ctx) {
return mInternalSerializer.serialize(calendar.getTime(), Date.class, ctx);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy