package org.ironbrain;
import com.fasterxml.jackson.annotation.JsonIgnore;
public class Result<T> {
public State getRes() {
return res;
}
public void setRes(State res) {
this.res = res;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
@JsonIgnore
public boolean isOk() {
return res == State.OK;
}
public T getData() {
return data;
}
public void setData(T data) {
this.data = data;
}
public enum State {OK, ERROR}
private State res = State.OK;
private String message;
private T data;
public String getSubRes() {
return subRes;
}
public void setSubRes(String subRes) {
this.subRes = subRes;
}
private String subRes;
public static Result getError(String message) {
Result result = new Result();
result.setRes(State.ERROR);
result.setMessage(message);
return result;
}
public static Result getOk() {
return new Result();
}
public static <DataType> Result getOk(DataType data) {
Result<DataType> result = Result.getOk();
result.setData(data);
return result;
}
}