XiMengJianYu/.svn/pristine/b8/b8b7d49ac2b2a3a249832ac7bdae0f6462e079c9.svn-base
2023-04-17 17:58:44 +08:00

34 lines
987 B
Plaintext
Executable File

package com.cm.utils.net.response;
import com.google.gson.internal.$Gson$Types;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
/**
* Created by Xuer on 2017/3/8.
*/
public abstract class GsonResponseHandler<T> implements ResponseHandler {
Type mType;
public GsonResponseHandler() {
Type myclass = getClass().getGenericSuperclass(); //反射获取带泛型的class
if (myclass instanceof Class) {
throw new RuntimeException("Missing type parameter.");
}
ParameterizedType parameter = (ParameterizedType) myclass; //获取所有泛型
mType = $Gson$Types.canonicalize(parameter.getActualTypeArguments()[0]); //将泛型转为type
}
public final Type getType() {
return mType;
}
public abstract void onSuccess(int statusCode, T response);
@Override
public void onProgress(long currentBytes, long totalBytes) {
}
}