package org.kairosdb.client; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import org.kairosdb.client.deserializer.GroupByDeserializer; import org.kairosdb.client.deserializer.ResultsDeserializer; import org.kairosdb.client.response.GroupResult; import org.kairosdb.client.response.Result; import java.io.Reader; import java.lang.reflect.Type; public class JsonMapper { private Gson mapper; public JsonMapper(DataPointTypeRegistry typeRegistry) { GsonBuilder builder = new GsonBuilder(); builder.registerTypeAdapter(GroupResult.class, new GroupByDeserializer()); builder.registerTypeAdapter(Result.class, new ResultsDeserializer(typeRegistry)); mapper = builder.create(); } public <T> T fromJson(Reader json, Type typeOfT) { return mapper.fromJson(json, typeOfT); } public <T> T fromJson(String json, Type typeOfT) { return mapper.fromJson(json, typeOfT); } }