package com.xiaomi.xms.sales.loader;
import com.xiaomi.xms.sales.R;
import java.util.HashMap;
import java.util.Map;
public abstract class BaseResult {
public enum ResultStatus {
NETWROK_ERROR, // 网络错误
SERVICE_ERROR, // 服务错误
DATA_ERROR, // 数据错误
AUTH_ERROR, // 认证错误
IP_ERROR, //IP不合法
OK // 没有任何问题
}
private static Map<ResultStatus, Integer> RESULT_STATUS_DES = new HashMap<BaseResult.ResultStatus, Integer>();
static {
RESULT_STATUS_DES.put(ResultStatus.NETWROK_ERROR, R.string.network_unavaliable);
RESULT_STATUS_DES.put(ResultStatus.SERVICE_ERROR, R.string.service_unavailiable);
RESULT_STATUS_DES.put(ResultStatus.DATA_ERROR, R.string.data_error);
RESULT_STATUS_DES.put(ResultStatus.AUTH_ERROR, R.string.auth_error);
RESULT_STATUS_DES.put(ResultStatus.IP_ERROR, R.string.ip_error);
}
public static int getStatusDes(ResultStatus status) {
return RESULT_STATUS_DES.get(status);
}
/**
* 浅拷贝,用于刷新页面但不会重新加载数据
*/
public abstract BaseResult shallowClone();
private ResultStatus mResultStatus = ResultStatus.OK;
/**
* 必须返回真实的数量,如果数据是list类型,那么返回个数;如果数据是有无,那么 0代表无,非0代表有数据
*/
protected abstract int getCount();
public ResultStatus getResultStatus() {
return mResultStatus;
}
public void setResultStatus(ResultStatus status) {
mResultStatus = status;
}
}