package com.salpa.subject.domain;

import java.io.Serializable;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.time.LocalTime;

/**
 * monitor_table_column_document
 * @author zhuff
 */
public class MonitorTableColumnDocument implements Serializable {

    private static final long serialVersionUID = 1L;

    private Integer id;

    private Integer tableDocumentId;

    private Integer databaseDocumentId;

    private String name;

    private String type;

    private Integer dataType;

    private String comment;

    private String defaultValue;

    private Integer size;

    private Integer decimalDigits;

    private Boolean primaryKey;

    private String nullable;

    private String autoIncrement;

    private LocalDateTime createAt;

    public MonitorTableColumnDocument() {}

    public MonitorTableColumnDocument(MonitorTableColumnDocument value) {
        this.id = value.id;
        this.tableDocumentId = value.tableDocumentId;
        this.databaseDocumentId = value.databaseDocumentId;
        this.name = value.name;
        this.type = value.type;
        this.dataType = value.dataType;
        this.comment = value.comment;
        this.defaultValue = value.defaultValue;
        this.size = value.size;
        this.decimalDigits = value.decimalDigits;
        this.primaryKey = value.primaryKey;
        this.nullable = value.nullable;
        this.autoIncrement = value.autoIncrement;
        this.createAt = value.createAt;
    }

    public MonitorTableColumnDocument(
            Integer       id,
            Integer       tableDocumentId,
            Integer       databaseDocumentId,
            String        name,
            String        type,
            Integer       dataType,
            String        comment,
            String        defaultValue,
            Integer       size,
            Integer       decimalDigits,
            Boolean       primaryKey,
            String        nullable,
            String        autoIncrement,
            LocalDateTime createAt
    ) {
        this.id = id;
        this.tableDocumentId = tableDocumentId;
        this.databaseDocumentId = databaseDocumentId;
        this.name = name;
        this.type = type;
        this.dataType = dataType;
        this.comment = comment;
        this.defaultValue = defaultValue;
        this.size = size;
        this.decimalDigits = decimalDigits;
        this.primaryKey = primaryKey;
        this.nullable = nullable;
        this.autoIncrement = autoIncrement;
        this.createAt = createAt;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getTableDocumentId() {
        return tableDocumentId;
    }

    public void setTableDocumentId(Integer tableDocumentId) {
        this.tableDocumentId = tableDocumentId;
    }

    public Integer getDatabaseDocumentId() {
        return databaseDocumentId;
    }

    public void setDatabaseDocumentId(Integer databaseDocumentId) {
        this.databaseDocumentId = databaseDocumentId;
    }

    public String getName() {
        return name;
    }

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

    public String getType() {
        return type;
    }

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

    public Integer getDataType() {
        return dataType;
    }

    public void setDataType(Integer dataType) {
        this.dataType = dataType;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public String getDefaultValue() {
        return defaultValue;
    }

    public void setDefaultValue(String defaultValue) {
        this.defaultValue = defaultValue;
    }

    public Integer getSize() {
        return size;
    }

    public void setSize(Integer size) {
        this.size = size;
    }

    public Integer getDecimalDigits() {
        return decimalDigits;
    }

    public void setDecimalDigits(Integer decimalDigits) {
        this.decimalDigits = decimalDigits;
    }

    public Boolean getPrimaryKey() {
        return primaryKey;
    }

    public void setPrimaryKey(Boolean primaryKey) {
        this.primaryKey = primaryKey;
    }

    public String getNullable() {
        return nullable;
    }

    public void setNullable(String nullable) {
        this.nullable = nullable;
    }

    public String getAutoIncrement() {
        return autoIncrement;
    }

    public void setAutoIncrement(String autoIncrement) {
        this.autoIncrement = autoIncrement;
    }

    public LocalDateTime getCreateAt() {
        return createAt;
    }

    public void setCreateAt(LocalDateTime createAt) {
        this.createAt = createAt;
    }
}
