java搜索結果 通用result類


<pre name="code" class="java">類BaseResult.java的實現描述:通用的執行結果



package com.api.result;

import java.io.Serializable;
import java.util.List;

/**
 * 類BaseResult.java的實現描述:通用的執行結果
 * 
 * @author wanglf 2016-3-3 17:24:15
 */
public class Result<T> implements Serializable {
    private static final long serialVersionUID = -2368446516546812379L;

    /**
     * 請求唯一ID
     */
    private String            requestId;

    /**
     * result data
     */
    private T                 data;

    /**
     * 國際化以後前端需要根據code 和 這個param裏的動態信息來構成錯誤信息
     * 
     * @see The Instance {0} is out of date,the endDate is {1} !
     *      ["atx1","2015-01-01"]
     */
    private List<String>      errorParams;

    /**
     * 是否是冪等返回
     */
    private Boolean           tokenConflicted;

    /**
     * 成功標記
     */
    private boolean           success;
    /**
     * 操作結果代碼 如:LX_CREATE_ORDER_FAILED ,籠統的錯誤代碼,由於openapi已經在使用,這裏的錯誤碼不能輕易改動
     */
    private String            code;

    /**
     * 詳細的錯誤code ,add 的,後續接入的 如果要細化錯誤code 展示,就使用這個。如:國際化翻譯的錯誤code
     */
    private String            errCode;

    /**
     * 操作消息
     */
    private String            message;

    /**
     * pop調用中的可能使用的動態錯誤碼
     */
    private String            dynamicCode;

    /**
     * pop調用中可能使用的動態信息
     */
    private String            dynamicMessage;

    public Result() {
    }

    public Result(T t, String requestId) {
        setSuccess(true);
        setData(t);
        setRequestId(requestId);
    }

    public Result(T t) {
        setSuccess(true);
        setData(t);
    }

    public Result(boolean isSuccess, T t, String requestId) {
        setSuccess(isSuccess);
        setData(t);
        setRequestId(requestId);
    }

    public Result(boolean isSuccess, String requestId) {
        setSuccess(isSuccess);
        setRequestId(requestId);
    }

    public Result(String code, String message, String requestId) {
        setSuccess(false);
        setCode(code);
        setMessage(message);
        setRequestId(requestId);
    }

    public Result(String code, String message) {
        setSuccess(false);
        setCode(code);
        setMessage(message);
    }

    public Result(boolean isSuccess, String code, String message, T t) {
        setSuccess(isSuccess);
        setCode(code);
        setMessage(message);
        setData(t);
    }

    public Result(boolean isSuccess, String code, String message) {
        setSuccess(isSuccess);
        setCode(code);
        setMessage(message);
    }

    public Result(boolean isSuccess, String message, T t) {
        setSuccess(isSuccess);
        setMessage(message);
        setData(t);
    }

    /**
     * @return Result<T>
     */
    public static <T> Result<T> create() {
        return new Result<T>();
    }

    /**
     * 新增快速創建Result的方法,不用謝我,請叫我雷鋒... ^.^ -Shaka create Result<T> Object for
     * successful cases.
     * 
     * @param data result data
     * @return Result<T>
     */
    public static <T> Result<T> create(T data) {
        Result<T> result = Result.create();
        result.setSuccess(true);
        result.setData(data);
        return result;
    }

    /**
     * 接口調用成功時也需要code和message的場景
     * 
     * @param data
     * @param code
     * @param message
     * @return
     */
    public static <T> Result<T> create(T data, String code, String message) {
        Result<T> result = Result.create();
        result.setSuccess(true);
        result.setData(data);
        result.setCode(code);
        result.setMessage(message);
        return result;
    }

    /**
     * 接口調用成功時也需要code和message的場景,添加動態code 和 動態message信息
     * 
     * @param data
     * @param code
     * @param message
     * @param requestId
     * @param dynamicCode
     * @param dynamicMessage
     * @return
     */
    public static <T> Result<T> create(T data, String code, String message, String requestId, String dynamicCode,
                                       String dynamicMessage) {
        Result<T> result = Result.create();
        result.setSuccess(true);
        result.setData(data);
        result.setCode(code);
        result.setMessage(message);
        result.setRequestId(requestId);
        result.setDynamicCode(dynamicCode);
        result.setDynamicMessage(dynamicMessage);
        return result;
    }

    /**
     * 接口調用成功時也需要code和message的場景
     * 
     * @param data
     * @param code
     * @param message
     * @param requestId
     * @return
     */
    public static <T> Result<T> create(T data, String code, String message, String requestId) {
        Result<T> result = Result.create();
        result.setSuccess(true);
        result.setData(data);
        result.setCode(code);
        result.setMessage(message);
        result.setRequestId(requestId);
        return result;
    }

    /**
     * create Result<T> Object for unsuccessful cases.
     * 
     * @param code result code
     * @param message result code
     * @return Result<T>
     */
    public static <T> Result<T> create(String code, String message) {
        Result<T> result = Result.create();
        result.setSuccess(false);
        result.setCode(code);
        result.setMessage(message);
        return result;
    }

    /**
     * create Result<T> Object for unsuccessful cases.
     * 
     * @param code result code
     * @param message result code
     * @return Result<T>
     */
    public static <T> Result<T> create(String code, String message, String requestId) {
        Result<T> result = Result.create();
        result.setSuccess(false);
        result.setCode(code);
        result.setMessage(message);
        result.setRequestId(requestId);
        return result;
    }

    /**
     * create Result<T> Object for unsuccessful cases.
     * 
     * @param code result code
     * @param message result code
     * @return Result<T>
     */
    public static <T> Result<T> create(String code, String message, String requestId, String dynamicMessage) {
        Result<T> result = Result.create();
        result.setSuccess(false);
        result.setCode(code);
        result.setMessage(message);
        result.setRequestId(requestId);
        result.setDynamicMessage(dynamicMessage);
        return result;
    }

    /**
     * @return the success
     */
    public boolean isSuccess() {
        return success;
    }

    /**
     * @param success the success to set
     */
    public void setSuccess(boolean success) {
        this.success = success;
    }

    /**
     * @return the code
     */
    public String getCode() {
        return code;
    }

    /**
     * @param code the code to set
     */
    public void setCode(String code) {
        this.code = code;
    }

    /**
     * @return the message
     */
    public String getMessage() {
        return message;
    }

    /**
     * @param message the message to set
     */
    public void setMessage(String message) {
        this.message = message;
    }

    public T getData() {
        return data;
    }

    public void setData(T data) {
        this.data = data;
    }

    public String getRequestId() {
        return requestId;
    }

    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }

    public List<String> getErrorParams() {
        return errorParams;
    }

    public void setErrorParams(List<String> errorParams) {
        this.errorParams = errorParams;
    }

    public Boolean getTokenConflicted() {
        return tokenConflicted;
    }

    public void setTokenConflicted(Boolean tokenConflicted) {
        this.tokenConflicted = tokenConflicted;
    }

    public String getErrCode() {
        return errCode;
    }

    public void setErrCode(String errCode) {
        this.errCode = errCode;
    }

    public String getDynamicCode() {
        return dynamicCode;
    }

    public void setDynamicCode(String dynamicCode) {
        this.dynamicCode = dynamicCode;
    }

    public String getDynamicMessage() {
        return dynamicMessage;
    }

    public void setDynamicMessage(String dynamicMessage) {
        this.dynamicMessage = dynamicMessage;
    }

    @Override
    public String toString() {
        return "Result [requestId=" + requestId + ", data=" + data + ", errorParams=" + errorParams
                + ", tokenConflicted=" + tokenConflicted + ", success=" + success + ", code=" + code + ", errCode="
                + errCode + ", message=" + message + ", dynamicCode=" + dynamicCode + ", dynamicMessage="
                + dynamicMessage + "]";
    }

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章