package com.core.common; import java.io.Serializable; public class Protocol implements Serializable { private static final long serialVersionUID = 1L; private int code; private String msg; private T data; public Protocol() { } public Protocol(int code, String msg, T data) { setCode(code); setMsg(msg); setData(data); } public Protocol(int code, String msg) { this(code, msg, null); } public static Protocol ok() { return parse(BaseRes.OK); } public static Protocol ok(T data) { Protocol protocol = parse(BaseRes.OK); protocol.setData(data); return protocol; } public static Protocol error() { return parse(BaseRes.ERROR); } public static Protocol error(String msg) { Protocol protocol = parse(BaseRes.ERROR); protocol.setMsg(msg); return protocol; } public static Protocol parse(String baseRes) { if (Cools.isEmpty(baseRes)) { return parse(BaseRes.ERROR); } String[] arr = baseRes.split("-"); if (arr.length == 2) { return new Protocol<>(Integer.parseInt(arr[0]), arr[1]); } return parse("500-".concat(baseRes)); } public int getCode() { return code; } public void setCode(int code) { this.code = code; } public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public T getData() { return data; } public void setData(T data) { this.data = data; } }