package cn.yiiguxing.plugin.translate.model;
import com.google.gson.annotations.SerializedName;
import java.util.Arrays;
@SuppressWarnings("WeakerAccess")
public class QueryResult {
public static final int ERROR_CODE_NONE = 0;
public static final int ERROR_CODE_QUERY_TOO_LONG = 20;
public static final int ERROR_CODE_FAIL = 30;
public static final int ERROR_CODE_UNSUPPORTED_LANG = 40;
public static final int ERROR_CODE_INVALID_KEY = 50;
public static final int ERROR_CODE_NO_RESULT = 60;
public static final int ERROR_CODE_RESTRICTED = -10;
@SerializedName("query")
private String query;
@SerializedName("errorCode")
private int errorCode;
@SerializedName("translation")
private String[] translation;
private String message;
@SerializedName("basic")
private BasicExplain basicExplain;
@SerializedName("web")
private WebExplain[] webExplains;
public QueryResult() {
}
public QueryResult(String query) {
this.query = query;
}
public String getQuery() {
return query;
}
public void setQuery(String query) {
this.query = query;
}
public int getErrorCode() {
return errorCode;
}
public void setErrorCode(int errorCode) {
this.errorCode = errorCode;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String[] getTranslation() {
return translation;
}
public void setTranslation(String[] translation) {
this.translation = translation;
}
public BasicExplain getBasicExplain() {
return basicExplain;
}
public void setBasicExplain(BasicExplain basicExplain) {
this.basicExplain = basicExplain;
}
public WebExplain[] getWebExplains() {
return webExplains;
}
public void setWebExplains(WebExplain[] webExplains) {
this.webExplains = webExplains;
}
public void checkError() {
if (errorCode == ERROR_CODE_NONE && (translation == null || translation.length == 0) &&
(basicExplain == null || basicExplain.getExplains() == null || basicExplain.getExplains().length == 0))
errorCode = ERROR_CODE_FAIL;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + errorCode;
result = prime * result + ((query == null) ? 0 : query.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
QueryResult other = (QueryResult) obj;
if (errorCode != other.errorCode)
return false;
if (query == null) {
if (other.query != null)
return false;
} else if (!query.equals(other.query))
return false;
return true;
}
@Override
public String toString() {
return "QueryResult{" +
"query='" + query + '\'' +
", errorCode=" + errorCode +
", translation=" + Arrays.toString(translation) +
", message='" + message + '\'' +
", basicExplain=" + basicExplain +
", webExplains=" + Arrays.toString(webExplains) +
'}';
}
}