java的Result类
import org.apache.commons.lang.StringUtils; import java.io.Serializable;
import java.util.HashMap;
import java.util.Map; public class Result <T> extends BaseDomain implements Serializable {
private String code;
private String msg;
private T data; private Result() {
this.code = UnifyStrErrorCode.SUCCESS.getCode();
this.msg = UnifyStrErrorCode.SUCCESS.getMsg();
} private Result(T data) {
this.code = UnifyStrErrorCode.SUCCESS.getCode();
this.msg = UnifyStrErrorCode.SUCCESS.getMsg();
this.setData(data);
} private Result(String code, String msg) {
this.code = UnifyStrErrorCode.SUCCESS.getCode();
this.msg = UnifyStrErrorCode.SUCCESS.getMsg();
this.setCode(code);
this.setMsg(msg);
} private Result(String code, String msg, T data) {
this.code = UnifyStrErrorCode.SUCCESS.getCode();
this.msg = UnifyStrErrorCode.SUCCESS.getMsg();
this.setCode(code);
this.setMsg(msg);
this.setData(data);
} public Result<T> setError(String code, String msg) {
this.setCode(code);
this.setMsg(msg);
return this;
} public Result<T> setError(UnifyStrErrorCode errorCode) {
this.setCode(errorCode.getCode());
this.setMsg(errorCode.getMsg());
return this;
} public boolean isSuccess() {
return StringUtils.equals(this.getCode(), UnifyStrErrorCode.SUCCESS.getCode());
} public static Result instance() {
return new Result();
} public static <T> Result instance(T data) {
return new Result(data);
} public static <T> Result instance(String code, String msg) {
return new Result(code, msg);
} public static <T> Result instance(String code, String msg, T data) {
return new Result(code, msg, data);
} public String getCode() {
return this.code;
} public void setCode(String code) {
this.code = code;
} public String getMsg() {
return this.msg;
} public void setMsg(String msg) {
this.msg = msg;
} public T getData() {
return this.data;
} public void setData(T data) {
this.data = data;
} public Map<String,Object> toJsonMap(){
Map<String,Object> map = new HashMap<>();
map.put("data",this.data);
map.put("msg",this.msg);
map.put("code",this.code);
return map;
} } 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
import org.apache.commons.lang.builder.ToStringBuilder;
import java.io.Serializable;
public class BaseDomain implements Serializable {
public BaseDomain() {
}
public String toString() {
return ToStringBuilder.reflectionToString(this);
}
}
java的Result类的更多相关文章
- 浅析Java.lang.ProcessBuilder类
最近由于工作需要把用户配置的Hive命令在Linux环境下执行,专门做了一个用户管理界面特地研究了这个不经常用得ProcessBuilder类.所以把自己的学习的资料总结一下. 一.概述 P ...
- 设计模式 - 装饰者模式(Decorator Pattern) Java的IO类 用法
装饰者模式(Decorator Pattern) Java的IO类 用法 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26716 ...
- java 并发工具类CountDownLatch & CyclicBarrier
一起在java1.5被引入的并发工具类还有CountDownLatch.CyclicBarrier.Semaphore.ConcurrentHashMap和BlockingQueue,它们都存在于ja ...
- JAVA不可变类(immutable)机制与String的不可变性
一.不可变类简介 不可变类:所谓的不可变类是指这个类的实例一旦创建完成后,就不能改变其成员变量值.如JDK内部自带的很多不可变类:Interger.Long和String等. 可变类:相对于不可变类, ...
- java.util.Arrays类详解(源码总结)
概述 Arrays类位于java.util包下,是一个对数组操作的工具类.今天详细的看了看Arrays类的4千多行源码,现将Arrays类中的方法做一个总结(JDK版本:1.6.0_34).Array ...
- MinerUtil.java 爬虫工具类
MinerUtil.java 爬虫工具类 package com.iteye.injavawetrust.miner; import java.io.File; import java.io.File ...
- Java的URL类(二)
转:https://www.cnblogs.com/brokencolor/p/8575440.html Java的URL类(二) 实例: Java 通过HttpURLConnection Post方 ...
- 小记Java时间工具类
小记Java时间工具类 废话不多说,这里主要记录以下几个工具 两个时间只差(Data) 获取时间的格式 格式化时间 返回String 两个时间只差(String) 获取两个时间之间的日期.月份.年份 ...
- Java中Optional类的使用
从 Java 8 引入的一个很有趣的特性是 Optional 类.Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException) —— 每个 Java 程序员都 ...
随机推荐
- spring boot 拦截器之WebMvcConfigurerAdapter
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 上一篇我们讲到了拦截器,我们也简单的讲解到了WebMvcConfigurerAdapter这个拦截器.本篇我们来对Web ...
- thinkphp 3.2跟3.1 区别
1.ThinkPHP3.2 主要整合了3.1以及之前版本的分组问题.3.2之前有普通分组和独立分组,还需要在配置文件中配置.3.2已经不需要配置了,直接使用独立分组就可以了.2.ThinkPHP3.2 ...
- 关于Cocos2d-x中坐标系的种类和转换
注意: 当一个节点有一个子节点的时候,如果移动父节点,子节点也会跟着做相应的移动变化,只要被添加到父节点中,子节点就被绑定了,所以子节点的位置,坐标就会被动地变化. 当一个节点有一个子节点的时候,如果 ...
- linux -- 常用的20个命令
1. ls命令 ls命令是列出目录内容(List Directory Contents)的意思.运行它就是列出文件夹里的内容,可能是文件也可能是文件夹. root@tecmint:~# ls Andr ...
- Eclipse最经常使用快捷键总结
1. ctrl+shift+r:打开资源 这可能是全部快捷键组合中最省时间的了. 这组快捷键能够让你打开你的工作区中不论什么一个文件,而你仅仅须要按下文件名称或mask名中的前几个字母,比方appl ...
- 远程连接mysql数据库提示:ERROR 1130的解决办法
From: http://blog.sina.com.cn/s/blog_716844910100welz.html 在linux下使用mysql客户端连接远程mysql服务器报错: [root@Se ...
- iOS 图文混排 (Swift版)
// 0> 图片附件 let attachment = NSTextAttachment() attachment.image = #imageLiteral(resourceName: &qu ...
- Unity利用UI的Mask实现对精灵Sprite的遮挡
例如剔除掉船超出河流的一部分,实现让船只在河流之上显示. 其实是利用UI层的Mask实现遮罩,有些不同的是Mask的图片是用Camera渲染到RenderTexture动态产生的纹理实现的.大概步骤如 ...
- 详解MathType中如何插入特殊符号
在论文写作中,经常会用到一些特殊符号,MathType公式编辑器支持插入特殊符号,并且数量繁多,可以满足用户的需求.本教程将详解MathType如何插入特殊符号. MathType中插入特殊符号的操作 ...
- VS2010属性表的建立与灵活运用
问题引入:在VS2010当中,进行opencv.QT等的编程时,总是需要配置很多属性还有依赖项等,为了减少每次都重复配置属性的工作量,现在可以运行属性表这个东西来简化配置.opencv也可以这样建立使 ...