All Downloads are FREE. Search and download functionalities are using the official Maven repository.

top.hmtools.model.ResultModel.bak.20171124.1517.txt Maven / Gradle / Ivy

There is a newer version: 0.0.4-beta
Show newest version
package top.hmtools.model;

import java.io.Serializable;
import java.util.HashMap;

/**
 * 基于hashmap的结果数据模型
 * @author Jianghaibo
 *
 */
public class ResultModel extends HashMap implements Serializable{

    /**
     * 
     */
    private static final long serialVersionUID = -1112782889826615337L;

    /**
     * 缺省的构造函数
     */
    public ResultModel() {
        this(resultStatus.STATUS_FAIL.toInt());
    }
    
    /**
     * 指定状态值的构造函数
     */
    public ResultModel(int status) {
        super();
        super.put(keyNames.KEY_STATUS, status);
        super.put(keyNames.KEY_MESSAGE, "");
    }
    
    /**
     * 指定状态值的构造函数
     */
    public ResultModel(resultStatus status) {
        this(status.toInt());
    }

    /**
     * 处理结果状态枚举
     * 
     * @author Jianghaibo
     *
     */
    public enum resultStatus {
        /**
         * 失败状态
         */
        STATUS_FAIL(0),
        /**
         * 成功状态
         */
        STATUS_SUCCESS(1);
        /**
         * 定义枚举常量的代号值
         */
        private int code;

        /**
         * 可以理解成构造函数
         */
        private resultStatus(int code) {
            this.code = code;
        }

        /**
         * 返回状态代号 方法说明: toInt 输入参数说明: @return 输出参数说明: int
         *
         *
         */
        public int toInt() {
            return this.code;
        }

        /**
         * 
         * 方法说明 重写toString()方法,这样,resultStatus.STATUS_SUCCESS 的打印值为 “1” 输入参数说明
         * 输出参数说明
         */
        @Override
        public String toString() {
            return String.valueOf(code);
        }
    }

    /**
     * 本实体类中的常用键名称
     * 
     * @author Jianghaibo
     *
     */
    public enum keyNames {
        /**
         * 执行结果状态键名
         */
        KEY_STATUS("status"),
        /**
         * 执行结果反馈消息键名
         */
        KEY_MESSAGE("message"),
        /**
         * 执行结果通用数据集键名
         */
        KEY_ROWS("rows");

        /**
         * 键名称
         */
        private String keyName;

        /**
         * 类似于构造函数
         */
        private keyNames(String keyName) {
            this.keyName = keyName;
        }

        /**
         * 重写tostring方法 方法说明: toString 输入参数说明: @return 输出参数说明: String
         *
         *
         */
        @Override
        public String toString() {
            return this.keyName;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy