package com.common.entity;


import java.time.LocalDateTime;

public class DmColumn {
    private Long id;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
    private LocalDateTime deletedAt;
    private String name;
    private String displayName;
    private Long storageDataType;
    private Long businessDataType;
    private Boolean isBuiltIn;
    private Boolean isHidden;
    private Boolean isNotNormalizable;
    private Boolean isRequired;
    private Integer categoryId;
    private Integer customAssetCategoryId;
    private Boolean isVirtual;
    private Integer tableId;
    private Integer assetTableId;
    private Integer columnSetId;
    private Integer baseType;
    private Integer userTaskId;
    private Long createdById;
    private Long createDept;
    private Long createBy;
    private LocalDateTime createTime;
    private Long updateBy;
    private LocalDateTime updateTime;

    // 构造方法
    public DmColumn() {}

    public DmColumn(String name, String displayName) {
        this.name = name;
        this.displayName = displayName;
    }

    // getter 和 setter 方法
    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }

    public LocalDateTime getCreatedAt() { return createdAt; }
    public void setCreatedAt(LocalDateTime createdAt) { this.createdAt = createdAt; }

    public LocalDateTime getUpdatedAt() { return updatedAt; }
    public void setUpdatedAt(LocalDateTime updatedAt) { this.updatedAt = updatedAt; }

    public LocalDateTime getDeletedAt() { return deletedAt; }
    public void setDeletedAt(LocalDateTime deletedAt) { this.deletedAt = deletedAt; }

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

    public String getDisplayName() { return displayName; }
    public void setDisplayName(String displayName) { this.displayName = displayName; }

    public Long getStorageDataType() { return storageDataType; }
    public void setStorageDataType(Long storageDataType) { this.storageDataType = storageDataType; }

    public Long getBusinessDataType() { return businessDataType; }
    public void setBusinessDataType(Long businessDataType) { this.businessDataType = businessDataType; }

    public Boolean getIsBuiltIn() { return isBuiltIn; }
    public void setIsBuiltIn(Boolean isBuiltIn) { this.isBuiltIn = isBuiltIn; }

    public Boolean getIsHidden() { return isHidden; }
    public void setIsHidden(Boolean isHidden) { this.isHidden = isHidden; }

    public Boolean getIsNotNormalizable() { return isNotNormalizable; }
    public void setIsNotNormalizable(Boolean isNotNormalizable) { this.isNotNormalizable = isNotNormalizable; }

    public Boolean getIsRequired() { return isRequired; }
    public void setIsRequired(Boolean isRequired) { this.isRequired = isRequired; }

    public Integer getCategoryId() { return categoryId; }
    public void setCategoryId(Integer categoryId) { this.categoryId = categoryId; }

    public Integer getCustomAssetCategoryId() { return customAssetCategoryId; }
    public void setCustomAssetCategoryId(Integer customAssetCategoryId) { this.customAssetCategoryId = customAssetCategoryId; }

    public Boolean getIsVirtual() { return isVirtual; }
    public void setIsVirtual(Boolean isVirtual) { this.isVirtual = isVirtual; }

    public Integer getTableId() { return tableId; }
    public void setTableId(Integer tableId) { this.tableId = tableId; }

    public Integer getAssetTableId() { return assetTableId; }
    public void setAssetTableId(Integer assetTableId) { this.assetTableId = assetTableId; }

    public Integer getColumnSetId() { return columnSetId; }
    public void setColumnSetId(Integer columnSetId) { this.columnSetId = columnSetId; }

    public Integer getBaseType() { return baseType; }
    public void setBaseType(Integer baseType) { this.baseType = baseType; }

    public Integer getUserTaskId() { return userTaskId; }
    public void setUserTaskId(Integer userTaskId) { this.userTaskId = userTaskId; }

    public Long getCreatedById() { return createdById; }
    public void setCreatedById(Long createdById) { this.createdById = createdById; }

    public Long getCreateDept() { return createDept; }
    public void setCreateDept(Long createDept) { this.createDept = createDept; }

    public Long getCreateBy() { return createBy; }
    public void setCreateBy(Long createBy) { this.createBy = createBy; }

    public LocalDateTime getCreateTime() { return createTime; }
    public void setCreateTime(LocalDateTime createTime) { this.createTime = createTime; }

    public Long getUpdateBy() { return updateBy; }
    public void setUpdateBy(Long updateBy) { this.updateBy = updateBy; }

    public LocalDateTime getUpdateTime() { return updateTime; }
    public void setUpdateTime(LocalDateTime updateTime) { this.updateTime = updateTime; }

    @Override
    public String toString() {
        return "DmColumn{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", displayName='" + displayName + '\'' +
                ", isBuiltIn=" + isBuiltIn +
                ", isHidden=" + isHidden +
                '}';
    }
}