1. import org.apache.commons.lang.StringUtils;
  2.  
  3. import java.io.Serializable;
    import java.util.HashMap;
    import java.util.Map;
  4.  
  5. public class Result <T> extends BaseDomain implements Serializable {
    private String code;
    private String msg;
    private T data;
  6.  
  7. private Result() {
    this.code = UnifyStrErrorCode.SUCCESS.getCode();
    this.msg = UnifyStrErrorCode.SUCCESS.getMsg();
    }
  8.  
  9. private Result(T data) {
    this.code = UnifyStrErrorCode.SUCCESS.getCode();
    this.msg = UnifyStrErrorCode.SUCCESS.getMsg();
    this.setData(data);
    }
  10.  
  11. private Result(String code, String msg) {
    this.code = UnifyStrErrorCode.SUCCESS.getCode();
    this.msg = UnifyStrErrorCode.SUCCESS.getMsg();
    this.setCode(code);
    this.setMsg(msg);
    }
  12.  
  13. 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);
    }
  14.  
  15. public Result<T> setError(String code, String msg) {
    this.setCode(code);
    this.setMsg(msg);
    return this;
    }
  16.  
  17. public Result<T> setError(UnifyStrErrorCode errorCode) {
    this.setCode(errorCode.getCode());
    this.setMsg(errorCode.getMsg());
    return this;
    }
  18.  
  19. public boolean isSuccess() {
    return StringUtils.equals(this.getCode(), UnifyStrErrorCode.SUCCESS.getCode());
    }
  20.  
  21. public static Result instance() {
    return new Result();
    }
  22.  
  23. public static <T> Result instance(T data) {
    return new Result(data);
    }
  24.  
  25. public static <T> Result instance(String code, String msg) {
    return new Result(code, msg);
    }
  26.  
  27. public static <T> Result instance(String code, String msg, T data) {
    return new Result(code, msg, data);
    }
  28.  
  29. public String getCode() {
    return this.code;
    }
  30.  
  31. public void setCode(String code) {
    this.code = code;
    }
  32.  
  33. public String getMsg() {
    return this.msg;
    }
  34.  
  35. public void setMsg(String msg) {
    this.msg = msg;
    }
  36.  
  37. public T getData() {
    return this.data;
    }
  38.  
  39. public void setData(T data) {
    this.data = data;
    }
  40.  
  41. 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;
    }
  42.  
  43. }
  44.  
  45. 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
  46.  
  1. import org.apache.commons.lang.builder.ToStringBuilder;
  2.  
  3. import java.io.Serializable;
  4.  
  5. public class BaseDomain implements Serializable {
    public BaseDomain() {
    }
  6.  
  7. public String toString() {
    return ToStringBuilder.reflectionToString(this);
    }
    }
  1.  

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. jQuery的Cookie操作插件

    jQuery的cookie插件 01 // jQuery.cookie.js 02 jQuery.cookie = function(name, value, options) { 03     if ...

  2. C++中前置声明的应用与陷阱

    前置声明的使用 有一定C++开发经验的朋友可能会遇到这样的场景:两个类A与B是强耦合关系,类A要引用B的对象,类B也要引用类A的对象.好的,不难,我的第一直觉让我写出这样的代码: // A.h #in ...

  3. TopK的一个简单实现

    转自:http://rangerwolf.iteye.com/blog/2119096 题外话: <Hadoop in Action> 是一本非常不错的交Hadoop的入门书,而且建议看英 ...

  4. openfire url get提交 中文乱码问题

    原因是它只接受url编码后的中文 如:%E7%BC%96%E7%A0%81%E5%90%8E%E7%9A%84%E4%B8%AD%E6%96%87 会自动转变为:http://127.0.0.1:90 ...

  5. 表单提交 多个name相同的input

    <form action="{:U('Index/test')}" method="post"> <foreach name="di ...

  6. linux ad7606 驱动解读

    本文记录阅读linux ad7606驱动的笔记. 主要文件 drivers/staging/iio/adc/ad7606_spi.c drivers/staging/iio/adc/ad7606_co ...

  7. wamp5多站点配置教程

    wamp5多站点配置教程 第一要做的是安装第二个apache服务一.找到Apache2的htppd.conf文件.例如:我的wamp是安装在G盘的,我的就是G:\wamp\Apache2\conf目录 ...

  8. opencv实例二:缩放一张图片

    1.知识补充 const char*, char const*, char*const的区别 事实上这个概念谁都有只是三种声明方式非常相似: Bjarne在他的The C++ Programming ...

  9. 利用circpedia 数据库探究circRNA的可变剪切

    circpedia 中收录了利用circexplorer 软件识别到的circRNA, 覆盖了人,小鼠,鸟类,昆虫多个物种的多种细胞系的数据 官网链接如下: http://www.picb.ac.cn ...

  10. Spring-注入外部值

    Spring注入需要初始化,但前面均使用硬编码注入,如: JavaConfig配置: package soundSystem; import org.springframework.stereotyp ...