Java数据封装类
项目中用到,比较好用!!
用户前端与后台的交互数据,这个封装类中包含分页、数据、错误码、状态码等信息!!
亲测好用哦!
一个类DataWrapper
public class DataWrapper<T>{
private CallStatusEnum callStatus;
private ErrorCodeEnum errorCode;
private T data;
private int numberPerPage; // 用于分页结果
private int currentPage;
private int totalNumber;
private int totalPage;
private String message ;
private String recordUpdateTime ; //redis数据插入时间
public DataWrapper() {
callStatus = CallStatusEnum.SUCCEED;
errorCode = ErrorCodeEnum.No_Error;
}
public static <T> DataWrapper<T> createInstance(){
return new DataWrapper<T>() ;
}
public CallStatusEnum getCallStatus() {
return callStatus;
}
public DataWrapper<T> setCallStatus(CallStatusEnum callStatus) {
this.callStatus = callStatus;
return this ;
}
public ErrorCodeEnum getErrorCode() {
return errorCode;
}
public void setErrorCode(ErrorCodeEnum errorCode) {
this.errorCode = errorCode;
if (!errorCode.equals(ErrorCodeEnum.No_Error)) {
this.callStatus = CallStatusEnum.FAILED;
}
}
public T getData() {
return data;
}
public DataWrapper<T> setData(T data) {
this.data = data;
return this ;
}
public int getNumberPerPage() {
return numberPerPage;
}
public void setNumberPerPage(int numberPerPage) {
this.numberPerPage = numberPerPage;
}
public int getCurrentPage() {
return currentPage;
}
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
}
public int getTotalNumber() {
return totalNumber;
}
public void setTotalNumber(int totalNumber) {
this.totalNumber = totalNumber;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public String getMessage() {
return message;
}
public DataWrapper<T> setMessage(String message) {
this.message = message;
return this ;
}
public String getRecordUpdateTime() {
return recordUpdateTime;
}
public DataWrapper<T> setRecordUpdateTime(String recordUpdateTime) {
this.recordUpdateTime = recordUpdateTime;
return this ;
}
@Override
public String toString() {
return JSONObject.toJSONString(this) ;
}
}
两个枚举CallStatusEnum、ErrorCodeEnum
public enum CallStatusEnum implements Serializable {
SUCCEED,
FAILED,;
CallStatusEnum() {
}
}
public enum ErrorCodeEnum implements Serializable {
No_Error("No ERROE!", 0),
Error("Unknown error!", 1),
NO_SUCH_USER("Can't find username",2),
IncorrectCredentials("IncorrectCredentialsException",3),
LoginFailed("AuthenticationException",4),
USER_EXIST("User already exist in db",5),
PASSWORD_ERROR("Error is password",6),
REGISTER_FAILED("Register failed",7),
PARSE_DATE("Parse Date error",8),
ExcessiveAttempts("Try password more than 5 times",9) ,
NO_ROLE("User has no role!" , 10) ,
USER_STATE_ERROR("User state error! Disable Login" , 11),
USER_IDENTITY_ERROR("User Identity error! Disable Login" , 12),
DB_ERROR("database maybe error!" , 13) ,
WEB_SP_ERROR("from webSp maybe error!" , 14) ,
MFA_VERIFY_ERROR("mfa verify random code error!" , 15) ,
MFA_SEND_ERROR("mfa send random code error!" , 16) ,
MFA_SEND_EXCESSIVE("ask send random code excessive!" , 17),
PHONE_NUMBER_ERROR("phone number is empty or error!" , 18),
IMAGECODE_ERROR("image code error" , 19),
VERIFYCODE_ERROR("telephone verify code incorrect",20);
private String label;
private Integer code;
ErrorCodeEnum() {
}
ErrorCodeEnum(String label, Integer code) {
this.label = label;
this.code = code;
}
public String getLabel() {
return label;
}
public void setLabel(String label) {
this.label = label;
}
public int getCode() {
return code;
}
@Override
public String toString() {
return code.toString();
}
public static ErrorCodeEnum parse(int code) {
for (ErrorCodeEnum theEnum : ErrorCodeEnum.values()) {
if (theEnum.getCode() == code) {
return theEnum;
}
}
return No_Error;
}
}
Java数据封装类的更多相关文章
- Java秒杀简单设计三:数据封装类
上一篇https://www.cnblogs.com/taiguyiba/p/9828984.html 整合了数据库表和Dao层代码 这一篇继续设计数据封装类: 涉及到获取秒杀地址,查询,返回秒杀结果 ...
- java中封装类(一)
java中封装类共九个,分别是Boolean,Byte,Short,Integer,Long,Float,Double,Character,Void 其中Void对于使用者并无多大意义,也不可以构造任 ...
- Java 数据持久化系列之池化技术
在上一篇文章<Java 数据持久化系列之JDBC>中,我们了解到使用 JDBC 创建 Connection 可以执行对应的SQL,但是创建 Connection 会消耗很多资源,所以 Ja ...
- JSONObject.fromObject(map)(JSON与JAVA数据的转换)
JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互.) 上一篇文章中有这么 ...
- 关于JAVA数据储存
关于JAVA数据储存: 在JAVA中,有六个不同的地方可以存储数据: 1. 寄存器(register) 这是最快的存储区,因为它位于不同于其他存储区的地方--处理器内部.但是寄存器的数量极其有限,所以 ...
- Java数据类型和MySql数据类型对应一览
类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述 VARCHAR L+N VARCHAR java.lang.String 12 CHAR N ...
- 转载:JSONObject.fromObject(map)(JSON与JAVA数据的转换)
转载网址:http://blog.sina.com.cn/s/blog_821025b70100wh6v.html JSON与JAVA数据的转换(JSON 即 JavaScript Object Na ...
- Java数据类型转换浅析
Java数据类型转换分为两种:自动类型转换和强制类型转换. 数据类型转换的关键是数据类型相应的表数范围大小 1.自动类型转换: 概念:小范围数据类型会自动转化成大范围数据类型 实例: int a=10 ...
- Java数据解析之JSON
文章大纲 一.JSON介绍二.常见框架介绍与实战三.Studio中GsonFormat插件使用四.项目源码下载(含参考资料)五.参考文档 一.JSON介绍 1. 简介 JSON 的全称是 Ja ...
随机推荐
- JAVA面试题整理(3)-Spring
1.BeanFactory 和 FactoryBean? 2.Spring IOC 的理解,其初始化过程? 3.BeanFactory 和 ApplicationContext? 4.Spring B ...
- VCF和GVCF格式说明
注意:本文的内容主要来自于GATK官网的讲解,所以vcf也是GATK产生的,用其他caller,比如varscan2产生的vcf文件的内容注释可能不一致. 参考:https://gatkforums. ...
- 20145216史婧瑶《Java程序设计》第3周学习总结
20145216 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 认识对象 4.1 类与对象 •对象(Object):存在的具体实体,具有明确的状态和行为 •类(Class) ...
- Java Mail 邮件发送Demo
上周公司的项目要求开发邮件发送功能.自己在网上跟着教程边学边做了一下午,现在基本开发完成了.由于一个同事也想看下该怎么写,顺便学习下.所以我就写成了一遍教程,顺便巩固下邮件发送里面的内容. Demo ...
- java中使用Ehcache缓存数据
知识点:在java项目中,使用ehcache缓存数据 参考博客:http://www.cnblogs.com/jingmoxukong/p/5975994.html ()概述 Ehcache是一个纯J ...
- 商品详情页,banner滚动点击加载效果,js,jquary
<script language="javascript"> $(document).ready(function () { //purchase ...
- linux用户态与内核态
系统调用:如何中用户态切换到内核态 在linux中,系统调用是通过0x86体系结构中的软件中断实现的.这个软件中断与通常说的硬件中断不同之处在于,它是通过软件指令触发,而不是外部设备,这是程序员可以触 ...
- Educational Codeforces Round 54 (Rated for Div. 2) DE
D 给出一个无向图,需要删去一些边,想知道最后能有多少个点到1的距离还是过去那么短 如果求一个最短路,然后从删边的角度看,看起来很难做,但是如果从零开始加边就会有做法,如同prim那样,先加入和1直接 ...
- word2vector 使用方法 计算语义相似度
参考:http://techblog.youdao.com/?p=915#LinkTarget_699word2vector是一个把词转换成词向量的一个程序,能够把词映射到K维向量空间,甚至词与词之间 ...
- 基于usb4java实现的java下的usb通信
项目地址:点击打开 使用java开发的好处就是跨平台,基本上java的开发的程序在linux.mac.MS上都可以运行,对应这java的那句经典名言:一次编写,到处运行.这个项目里面有两种包选择,一个 ...