package com.wuxiaolong.wewin.retrofit;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
/**
* Created by WuXiaolong
* on 2016/9/22.
* github:https://github.com/WuXiaolong/
* weibo:http://weibo.com/u/2175011601
* 微信公众号:吴小龙同学
* 个人博客:http://wuxiaolong.me/
*/
public abstract class RetrofitCallback<M> implements Callback<M> {
public abstract void onSuccess(M model);
public abstract void onFailure(int code, String msg);
public abstract void onThrowable(Throwable t);
public abstract void onFinish();
@Override
public void onResponse(Call<M> call, Response<M> response) {
if (response.isSuccessful()) {
onSuccess(response.body());
} else {
onFailure(response.code(), response.errorBody().toString());
}
onFinish();
}
@Override
public void onFailure(Call<M> call, Throwable t) {
onThrowable(t);
onFinish();
}
}