package mediabrowser.apiinteraction.android;
import mediabrowser.model.serialization.IJsonSerializer;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.io.InputStream;
public class GsonJsonSerializer implements IJsonSerializer {
@Override
public void SerializeToStream(Object obj, InputStream stream) {
throw new UnsupportedOperationException();
}
@Override
public void SerializeToFile(Object obj, String file) {
throw new UnsupportedOperationException();
}
@Override
public Object DeserializeFromFile(Class type, String file) {
throw new UnsupportedOperationException();
}
@Override
public <T> T DeserializeFromFile(String file) {
throw new UnsupportedOperationException();
}
@Override
public <T> T DeserializeFromStream(InputStream stream) {
throw new UnsupportedOperationException();
}
@Override
public <T> T DeserializeFromString(String json, Class type) {
Gson gsonBuilder = new GsonBuilder()
.setDateFormat("yyyy-MM-dd'T'HH:mm:ss")
.create();
//Type listType = new TypeToken<T>() {}.getType();
return (T)gsonBuilder.fromJson(json, type);
}
@Override
public Object DeserializeFromStream(InputStream stream, Class type) {
throw new UnsupportedOperationException();
}
@Override
public String SerializeToString(Object obj) {
Gson gsonBuilder = new GsonBuilder()
.setDateFormat("yyyy-MM-dd'T'HH:mm:ss")
.create();
return gsonBuilder.toJson(obj);
}
}