package com.dongxuexidu.douban4j.utils;
import com.dongxuexidu.douban4j.constants.StatusCode;
import com.dongxuexidu.douban4j.model.app.DoubanException;
import com.google.api.client.http.HttpResponseException;
/**
*
* @author Zhibo Wei <uglytroll@dongxuexidu.com>
*/
public class ErrorHandler {
public static final int HTTP_RESPONSE_ERROR_STATUS_CODE = 1015;
public static final int ACCESS_TOKEN_NOT_SET = 727;
public static final int MISSING_REQUIRED_PARAM = 728;
public static DoubanException accessTokenNotSet () {
return new DoubanException(ACCESS_TOKEN_NOT_SET, "This method needs access token to gain accessability");
}
public static DoubanException missingRequiredParam () {
return new DoubanException(MISSING_REQUIRED_PARAM, "This method is missing required params");
}
public static DoubanException cannotGetAccessToken () {
return new DoubanException(ACCESS_TOKEN_NOT_SET, "Cannot get access token, IO exception");
}
public static DoubanException getCustomDoubanException (int code, String msg) {
return new DoubanException(code, msg);
}
public static DoubanException handleHttpResponseError (HttpResponseException ex) {
return new DoubanException(HTTP_RESPONSE_ERROR_STATUS_CODE, "HttpResponseException : http status : " + ex.getStatusCode() + " message : " + ex.getMessage());
}
public static DoubanException wrongJsonFormat (String rawString) {
return new DoubanException(100, "Illegal JSON format : " + rawString);
}
}