package com.yanzuoguang.util.vo; import io.swagger.annotations.ApiModelProperty; /** * 接口之间的通讯结果 * * @author 颜佐光 */ public class ResponseResultMain<T, M> extends ResponseResult<T> { /** * 返回数据 */ @ApiModelProperty(value = "返回数据", notes = "返回的具体数据", required = true) private M main; public M getMain() { return main; } public void setMain(M main) { this.main = main; } /** * 构造函数 */ public ResponseResultMain() { super(); } /** * 构造函数 * * @param code 结果状态 * @param message 结果消息 */ public ResponseResultMain(String code, String message) { super(code, message); } /** * 构造函数 * * @param code 结果状态 * @param message 结果熊希 * @param data 结果 */ public ResponseResultMain(String code, String message, T data) { super(code, message, data); } /** * 构造函数 * * @param code 结果状态 * @param message 结果熊希 * @param data 结果 */ public ResponseResultMain(String code, String message, T data, M main, Object target) { super(code, message, data, target); this.main = main; } /** * 构造成功结果 * * @param data 数据 * @param <T> 数据类型 * @return 一个请求成功的数据集合 */ public static final <T, M> ResponseResultMain<T, M> result(T data, M main) { return result(data, main, false); } /** * 构造成功结果,不允许为空 * * @param data 数据 * @param <T> 数据类型 * @return 一个请求成功的数据集合 */ public static final <T, M> ResponseResultMain<T, M> resultAllowNull(T data, M main) { return result(data, main, true); } /** * 构造成功结果 * * @param data 数据 * @param main 主数据 * @param allowNull 允许为空 * @param <T> 数据类型 * @return 一个请求成功的数据集合 */ public static final <T, M> ResponseResultMain<T, M> result(T data, M main, boolean allowNull) { ResponseResultMain<T, M> ret = new ResponseResultMain<T, M>(); ret.setData(data); ret.setMain(main); initDataStatus(ret, data, allowNull); return ret; } }