package com.example.util.msg;
import lombok.Data;
@Data
public class Message {
/**
* 状态码 1:成功, 0:失败
*/
public static final int STATUS_OK = 1;
public static final int STATUS_FAIL = 0;
public static final String MESSAGE_OK = "成功";
public static final String MESSAGE_FAIL = "失败";
private int status = STATUS_OK;
private String message = MESSAGE_OK;
public Message() {
super();
}
public Message(int status, String message) {
super();
this.status = status;
this.message = message;
}
public boolean isOk() {
return !this.isFail();
}
private boolean isFail() {
return this.status == 0;
}
public static Message ok(String message) {
return new Message(STATUS_OK, message);
}
public static Message fail(String message) {
return new Message(STATUS_FAIL, message);
}
public static Message ok() {
return ok(MESSAGE_OK);
}
}
package com.example.util.msg;
public class MessageBox<T> extends Message {
private T data;
public MessageBox() {
super();
}
public MessageBox(int status, String message) {
super(status, message);
}
public MessageBox(T data) {
this.data = data;
}
public T getData() {
return data;
}
public MessageBox setData(T data) {
this.data = data;
return this;
}
public boolean hasData() {
return this.data != null;
}
public static MessageBox send(Object data, Object... params) {
int status = STATUS_OK;
String message = MESSAGE_OK;
boolean getStatus = false;
boolean getMsg = false;
for (Object param: params) {
if (param instanceof Integer && !getStatus) {
status = (Integer)param;
getStatus = true;
} else if (param instanceof String && !getMsg) {
message = (String)param;
getMsg = true;
}
if (getStatus && getMsg) {
break;
}
}
MessageBox mb = new MessageBox(status, message);
return mb.setData(data);
}
}