package com.bgycc.smartcanteen.state; import androidx.annotation.IntDef; import java.util.Objects; public class PayOnlineState { public static final int IDLE = 0; public static final int SEND = 1; public static final int WAIT = 2; public static final int SUCCESS = 3; public static final int FAILED = 4; @IntDef(value = {IDLE, SEND, WAIT, SUCCESS, FAILED}) public @interface PAY_ONLINE_STATE { } private @PAY_ONLINE_STATE int state; private String message; private String original; public PayOnlineState(@PAY_ONLINE_STATE int state) { this(state, ""); } public PayOnlineState(@PAY_ONLINE_STATE int state, String message) { this(state, message, ""); } public PayOnlineState(@PAY_ONLINE_STATE int state, String message, String original) { this.state = state; this.message = message; this.original = original; } public int getState() { return state; } public void setState(@PAY_ONLINE_STATE int state) { this.state = state; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public String getOriginal() { return original; } public void setOriginal(String original) { this.original = original; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; PayOnlineState payOnlineState = (PayOnlineState) o; return state == payOnlineState.state && Objects.equals(message, payOnlineState.message) && Objects.equals(original, payOnlineState.original); } @Override public int hashCode() { return Objects.hash(state, message, original); } @Override public String toString() { return "PayOnlineState{" + "state=" + state + ", message='" + message + '\'' + ", original='" + original + '\'' + '}'; } }