package com.ibeetl.admin.core.entity;

import java.util.Date;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import org.beetl.sql.core.annotatoin.AssignID;
import org.beetl.sql.core.annotatoin.AutoID;
import org.beetl.sql.core.annotatoin.SeqID;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonView;
import com.ibeetl.admin.core.util.ValidateConfig;

/**
 * 描述: 字典
 * @author : xiandafu
 */
public class CoreDict extends BaseEntity {

	@AssignID
    private String value;   // 数据值
    //删除标识
    @JsonIgnore
    protected Integer delFlag = 0;
    //创建时间
    protected Date createTime;
    @NotBlank(message = "字典类型不能为空", groups = ValidateConfig.ADD.class)
    @JsonView(TypeListView.class)
    private String type;    //类型
    @JsonView(TypeListView.class)
    @NotBlank(message = "字典类型描述不能为空")
    private String typeName; //类型描述
    @NotBlank(message = "字典值不能为空", groups = ValidateConfig.ADD.class)
    
    @NotBlank(message = "字典值名称不能为空")
    private String name;    // 标签名
    private Integer sort;    // 排序
    private String parent;  //父Id
    private String remark;  //备注


    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getTypeName() {
        return typeName;
    }

    public void setTypeName(String typeName) {
        this.typeName = typeName;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public String getParent() {
        return parent;
    }

    public void setParent(String parent) {
        this.parent = parent;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }



    public Integer getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(Integer delFlag) {
        this.delFlag = delFlag;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }


    public interface TypeListView{
    }

}
