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类的更多相关文章

  1. 浅析Java.lang.ProcessBuilder类

    最近由于工作需要把用户配置的Hive命令在Linux环境下执行,专门做了一个用户管理界面特地研究了这个不经常用得ProcessBuilder类.所以把自己的学习的资料总结一下. 一.概述      P ...

  2. 设计模式 - 装饰者模式(Decorator Pattern) Java的IO类 用法

    装饰者模式(Decorator Pattern) Java的IO类 用法 本文地址: http://blog.csdn.net/caroline_wendy/article/details/26716 ...

  3. java 并发工具类CountDownLatch & CyclicBarrier

    一起在java1.5被引入的并发工具类还有CountDownLatch.CyclicBarrier.Semaphore.ConcurrentHashMap和BlockingQueue,它们都存在于ja ...

  4. JAVA不可变类(immutable)机制与String的不可变性

    一.不可变类简介 不可变类:所谓的不可变类是指这个类的实例一旦创建完成后,就不能改变其成员变量值.如JDK内部自带的很多不可变类:Interger.Long和String等. 可变类:相对于不可变类, ...

  5. java.util.Arrays类详解(源码总结)

    概述 Arrays类位于java.util包下,是一个对数组操作的工具类.今天详细的看了看Arrays类的4千多行源码,现将Arrays类中的方法做一个总结(JDK版本:1.6.0_34).Array ...

  6. MinerUtil.java 爬虫工具类

    MinerUtil.java 爬虫工具类 package com.iteye.injavawetrust.miner; import java.io.File; import java.io.File ...

  7. Java的URL类(二)

    转:https://www.cnblogs.com/brokencolor/p/8575440.html Java的URL类(二) 实例: Java 通过HttpURLConnection Post方 ...

  8. 小记Java时间工具类

    小记Java时间工具类 废话不多说,这里主要记录以下几个工具 两个时间只差(Data) 获取时间的格式 格式化时间 返回String 两个时间只差(String) 获取两个时间之间的日期.月份.年份 ...

  9. Java中Optional类的使用

    从 Java 8 引入的一个很有趣的特性是 Optional  类.Optional 类主要解决的问题是臭名昭著的空指针异常(NullPointerException) —— 每个 Java 程序员都 ...

随机推荐

  1. SparkR:数据科学家的新利器

    摘要:R是数据科学家中最流行的编程语言和环境之一,在Spark中加入对R的支持是社区中较受关注的话题.作为增强Spark对数据科学家群体吸引力的最新举措,最近发布的Spark 1.4版本在现有的Sca ...

  2. 简单十招提高jQuery执行效率

    1. 使用最新版本的jQuery jQuery的版本更新很快,你应该总是使用最新的版本.因为新版本会改进性能,还有很多新功能. 下面就来看看,不同版本的jQuery性能差异有多大.这里是三条最常见的j ...

  3. am335x LCD参数更改

    /******************************************************************** * am335x LCD参数更改 * * 本文记录am335 ...

  4. e555. 在Applet中播放音频

    // See also e551 精简的Applet public void init() { // Load audio clip AudioClip ac = getAudioClip(getDo ...

  5. Configurations of Vim/GVim of dsp

    Linux环境写到用户主目录下的.vimrc文件(没有则新建),Windows环境则为GVim安装目录下的_vimrc(没有则新建),内容如下: "分上下两屏 "sp " ...

  6. hoj Counting the algorithms

    贪心加树状数组 给出的数据可能出现两种情况,包括与不包括,但我们从右向左删就能避免这个问题. #include<stdio.h> #include<string.h> #inc ...

  7. CentOS基础命令大全

    1.关机 (系统的关机.重启以及登出 ) 的命令 shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdown -h hours: ...

  8. Json.net 时间格式处理

    json.net转json时生成的时间格式是这种 2015-11-14T06:59:59+08:00 格式化为这种2015-11-14 后台代码: IsoDateTimeConverter timeF ...

  9. Java调用FTP实例

    package com.test; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStre ...

  10. tomcat日志神器--kibana

    最近公司搭了套kibana的日志系统,感受比原来查看日志方便多了.记得以前查看日志是通过ssh到服务器,查看系统日志用vi查看器查看或者下载到本地,用logview查看搜索,可读性很低.自从用了kib ...