package com.mortals.xhx.base.system.idgenerator.model;

import com.mortals.framework.model.BaseEntityLong;

import java.util.Date;

/**
 * <p>Title: id生成器</p>
 * <p>Description: IdgeneratorEntity  </p>
 * <p>Copyright: Copyright &reg;  </p>
 * <p>Company: </p>
 *
 * @author
 * @version 1.0.0
 */
public class IdgeneratorEntity extends BaseEntityLong {

    private static final long serialVersionUID = 1555564885341L;

    /** id类型 */
    private String idType;

    /** 当前id最大值 */
    private Long idMaxValue;

    /** 备注 */
    private String remark;

    /** 版本号，默认0 */
    private Long versionNum;

    /** 最后修改时间 */
    private Date gmtModify;


    public IdgeneratorEntity() {

    }

    /**
     * 获取 id类型
     *
     * @return idType
     */
    public String getIdType() {
        return this.idType;
    }

    /**
     * 设置 id类型
     *
     * @param idType
     */
    public void setIdType(String idType) {
        this.idType = idType;
    }

    /**
     * 获取 当前id最大值
     *
     * @return idMaxValue
     */
    public Long getIdMaxValue() {
        return this.idMaxValue;
    }

    /**
     * 设置 当前id最大值
     *
     * @param idMaxValue
     */
    public void setIdMaxValue(Long idMaxValue) {
        this.idMaxValue = idMaxValue;
    }

    /**
     * 获取 备注
     *
     * @return remark
     */
    public String getRemark() {
        return this.remark;
    }

    /**
     * 设置 备注
     *
     * @param remark
     */
    public void setRemark(String remark) {
        this.remark = remark;
    }

    /**
     * 获取 版本号，默认0
     *
     * @return versionNum
     */
    public Long getVersionNum() {
        return this.versionNum;
    }

    /**
     * 设置 版本号，默认0
     *
     * @param versionNum
     */
    public void setVersionNum(Long versionNum) {
        this.versionNum = versionNum;
    }

    /**
     * 获取 最后修改时间
     *
     * @return gmtModify
     */
    public Date getGmtModify() {
        return this.gmtModify;
    }

    /**
     * 设置 最后修改时间
     *
     * @param gmtModify
     */
    public void setGmtModify(Date gmtModify) {
        this.gmtModify = gmtModify;
    }


    @Override
    public int hashCode() {
        return this.getId().hashCode();
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (obj instanceof IdgeneratorEntity) {
            IdgeneratorEntity tmp = (IdgeneratorEntity) obj;
            return this.getId().longValue() == tmp.getId().longValue();
        }
        return false;
    }

    @Override
    public String toString() {
        return "IdgeneratorEntity{" + "idType='" + idType + '\'' + ", idMaxValue=" + idMaxValue + ", remark='" + remark
                + '\'' + ", versionNum=" + versionNum + ", gmtModify=" + gmtModify + ", id=" + id + '}';
    }

    @Override
    public void initAttrValue() {
        this.idType = null;
        this.idMaxValue = null;
        this.remark = null;
        this.versionNum = 0L;
        this.gmtModify = null;
    }
}