blob: af5c68e574aa96e9397f3d363085dfd5c562dc7c [file] [log] [blame]
package androidx.test.espresso.flutter.internal.jsonrpc.message;
import com.google.gson.JsonObject;
import java.util.Objects;
/**
* A class for holding the error object in {@code JsonRpcResponse}.
*
* <p>See https://www.jsonrpc.org/specification#error_object for detailed specification.
*/
public class ErrorObject {
private final int code;
private final String message;
private final JsonObject data;
public ErrorObject(int code, String message) {
this(code, message, null);
}
public ErrorObject(int code, String message, JsonObject data) {
this.code = code;
this.message = message;
this.data = data;
}
/** Gets the error code. */
public int getCode() {
return code;
}
/** Gets the error message. */
public String getMessage() {
return message;
}
/** Gets the additional information about the error. Could be null. */
public JsonObject getData() {
return data;
}
@Override
public boolean equals(Object obj) {
if (obj instanceof ErrorObject) {
ErrorObject errorObject = (ErrorObject) obj;
return errorObject.code == this.code
&& Objects.equals(errorObject.message, this.message)
&& Objects.equals(errorObject.data, this.data);
} else {
return false;
}
}
@Override
public int hashCode() {
int hash = code;
hash = hash * 31 + Objects.hashCode(message);
hash = hash * 31 + Objects.hashCode(data);
return hash;
}
}