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. java-servlet的url-pattern匹配规则详细描述

    http://www.cnblogs.com/51kata/p/5152400.html http://www.cnblogs.com/canger/p/6084846.html 一.概述 在利用se ...

  2. 如果你不知道这11款常见的Web应用程序框架 就说明你out了

    本文推荐了11款常见的Web应用程序框架,并列出了相关的学习资料和下载文档.如果对这些项目还不熟悉,就赶紧学起来吧~ Rails Rails是Ruby on Rails的简称,是一款开源的Web应用框 ...

  3. Batch Normalization原理及其TensorFlow实现——为了减少深度神经网络中的internal covariate shift,论文中提出了Batch Normalization算法,首先是对”每一层“的输入做一个Batch Normalization 变换

    批标准化(Bactch Normalization,BN)是为了克服神经网络加深导致难以训练而诞生的,随着神经网络深度加深,训练起来就会越来越困难,收敛速度回很慢,常常会导致梯度弥散问题(Vanish ...

  4. Mysql数据库中InnoDB和MyISAM的差别

    Mysql数据库中InnoDB和MyISAM的差别 InnoDB和MyISAM是在使用MySQL最常用的两个表类型,各有优缺点,视具体应用而定.基本的差别为:MyISAM类型不支持事务处理等高级处理, ...

  5. bootstrap -- css -- 按钮

    本文中提到的按钮样式,适用于:<a>, <button>, 或 <input> 元素上 但最好在 <button> 元素上使用按钮 class,避免跨浏 ...

  6. can not connect to MySQL server on "10.30.48.153"(13)

    国庆节前好好的程序,完了回来愣是不能跑了! 真是纳闷了,而且邮件别人都发出去了,等于这跟别人一边使用一遍救火一样子了.     查了一下午,一直以为是机器mysql服务的问题,或者是我代码的问题.该找 ...

  7. VC++:Debug出错,提示错误在findfile.cpp (Line 369)

    调试程序的Debug版本,出现断言框,定位于库文件findfile.cpp 第369行: void CFileFind::AssertValid() const { // if you trip th ...

  8. Android 6.0启动过程具体解析

    在之前的一篇文章中.从概念上学习了Andoird系统的启动过程.Android系统启动过程学习 而在这篇文章中,我们将从代码角度细致学习Android系统的启动过程,同一时候,学习Android启动过 ...

  9. mybatis由浅入深day01_5.3 Mapper动态代理方法

    5.3 Mapper动态代理方法(程序员只需要写mapper接口(相当于dao接口)) 5.3.1 实现原理(mapper代理开发规范) 程序员还需要编写mapper.xml映射文件 程序员编写map ...

  10. Python 爬虫知识点 - 淘宝商品检索结果抓包分析(续一)

    通过前一节得出地址可能的构建规律,如下: https://s.taobao.com/search?data-key=s&data-value=44&ajax=true&_ksT ...