package com.kmall.admin.haikong.utils; import com.google.common.base.Strings; import java.io.Serializable; /** * 通用消息封装 * * @ClassName: Message * @author yechao * @date 2017年5月3日 下午2:03:14 * @author Scott Chen * @date 2017-09-19 16:60 * @Description: */ public class Message implements Serializable { private static final long serialVersionUID = 4081619286503989887L; private boolean isSuccess; /** * 消息代码 , 由使用者自由发挥 */ private String code; /** * 消息内容体 , 由使用者自由发挥 */ private String msg; /** * 扩展 */ private Object extend; private Message() { } public String getCode() { return code; } public String getMsg() { return msg; } public Object getExtend() { return extend; } public boolean isSuccess() { return isSuccess; } public static Builder builder() { return new Builder(); } public static Builder builder(String code, String msg) { return new Builder(code, msg); } public static Builder builder(String code, String msg, Object extend) { return new Builder(code, msg, extend); } //---------- 直接返回结果 ---------- public static Message success() { return new Builder().build(); } public static Message success(Object object) { Builder builder = new Builder(); return builder.setExtend(object).build(); } public static Message success(String msg) { return new Builder(MessageCode.SUCCESS_CODE, msg).build(); } public static Message success(String msg, Object object) { Builder builder = new Builder(MessageCode.SUCCESS_CODE, msg, object); return builder.build(); } public static Message success(String code, String msg, Object object) { Builder builder = new Builder(code, msg, object); return builder.build(); } public static Message success(String code, String msg) { return new Builder(code, msg).build(); } //--- 错误---------- public static Message error() { return new Builder(MessageCode.ERROR_CODE, MessageCode.ERROR_MSG).build(); } public static Message error(String msg) { return new Builder(MessageCode.ERROR_CODE, msg).build(); } public static Message error(String code, String msg) { return new Builder(code, msg).build(); } //--- 失败---------- public static Message failed() { return new Builder(MessageCode.FAILED_CODE, MessageCode.FAILED_MSG).build(); } public static Message failed(String msg) { return new Builder(MessageCode.FAILED_CODE, msg).build(); } public static Message failed(String code, String msg) { return new Builder(code, msg).build(); } /** * 消息构建器类 */ public static class Builder { private boolean isSuccess; private String code; private String msg; private Object extend; public Builder() { this.isSuccess = true; this.code = MessageCode.SUCCESS_CODE; this.msg = MessageCode.SUCCESS_MSG; this.extend = null; } public Builder(String code, String msg) { this.code = Strings.isNullOrEmpty(code) ? MessageCode.SUCCESS_CODE : code; this.msg = Strings.isNullOrEmpty(msg) ? MessageCode.SUCCESS_MSG : msg; this.isSuccess = this.code.equals(MessageCode.SUCCESS_CODE) ? true : false; } public Builder(String code, String msg, Object extend) { this.code = Strings.isNullOrEmpty(code) ? MessageCode.SUCCESS_CODE : code; this.msg = Strings.isNullOrEmpty(msg) ? MessageCode.SUCCESS_MSG : msg; this.extend = extend; this.isSuccess = this.code.equals(MessageCode.SUCCESS_CODE) ? true : false; } public Message build() { Message message = new Message(); message.isSuccess = this.isSuccess; message.code = this.code; message.msg = this.msg; message.extend = this.extend; return message; } public void setSuccess(boolean success) { isSuccess = success; } public Builder setCode(String code) { this.code = code; return this; } public Builder setMsg(String msg) { this.msg = msg; return this; } public Builder setExtend(Object extend) { this.extend = extend; return this; } } }