package org.fluxtream.core.api.gson;
import java.lang.reflect.Type;
import org.fluxtream.core.connectors.updaters.UpdateInfo;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
/**
*
* @author Candide Kemmler (candide@fluxtream.com)
*/
public class UpdateInfoSerializer implements JsonSerializer<UpdateInfo> {
@Override
public JsonElement serialize(final UpdateInfo updateInfo, final Type typeOfSrc, final JsonSerializationContext context) {
JsonObject root = new JsonObject();
root.addProperty("guestId", updateInfo.getGuestId());
root.addProperty("connector", updateInfo.apiKey.getConnector().getName());
root.addProperty("updateType", updateInfo.getUpdateType().toString());
root.addProperty("objectTypes", updateInfo.objectTypes().toString());
return root;
}
}