package com.salpa.subject.domain;

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

/**
 * monitor_table_foreign_key_document
 * @author zhuff
 */
public class MonitorTableForeignKeyDocument implements Serializable {

    private static final long serialVersionUID = 1L;

    private Integer id;

    private Integer tableDocumentId;

    private Integer databaseDocumentId;

    private Integer keySeq;

    private String fkName;

    private String fkTableName;

    private String fkColumnName;

    private String pkName;

    private String pkTableName;

    private String pkColumnName;

    private String updateRule;

    private String deleteRule;

    private LocalDateTime createAt;

    public MonitorTableForeignKeyDocument() {}

    public MonitorTableForeignKeyDocument(MonitorTableForeignKeyDocument value) {
        this.id = value.id;
        this.tableDocumentId = value.tableDocumentId;
        this.databaseDocumentId = value.databaseDocumentId;
        this.keySeq = value.keySeq;
        this.fkName = value.fkName;
        this.fkTableName = value.fkTableName;
        this.fkColumnName = value.fkColumnName;
        this.pkName = value.pkName;
        this.pkTableName = value.pkTableName;
        this.pkColumnName = value.pkColumnName;
        this.updateRule = value.updateRule;
        this.deleteRule = value.deleteRule;
        this.createAt = value.createAt;
    }

    public MonitorTableForeignKeyDocument(
            Integer       id,
            Integer       tableDocumentId,
            Integer       databaseDocumentId,
            Integer       keySeq,
            String        fkName,
            String        fkTableName,
            String        fkColumnName,
            String        pkName,
            String        pkTableName,
            String        pkColumnName,
            String        updateRule,
            String        deleteRule,
            LocalDateTime createAt
    ) {
        this.id = id;
        this.tableDocumentId = tableDocumentId;
        this.databaseDocumentId = databaseDocumentId;
        this.keySeq = keySeq;
        this.fkName = fkName;
        this.fkTableName = fkTableName;
        this.fkColumnName = fkColumnName;
        this.pkName = pkName;
        this.pkTableName = pkTableName;
        this.pkColumnName = pkColumnName;
        this.updateRule = updateRule;
        this.deleteRule = deleteRule;
        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 Integer getKeySeq() {
        return keySeq;
    }

    public void setKeySeq(Integer keySeq) {
        this.keySeq = keySeq;
    }

    public String getFkName() {
        return fkName;
    }

    public void setFkName(String fkName) {
        this.fkName = fkName;
    }

    public String getFkTableName() {
        return fkTableName;
    }

    public void setFkTableName(String fkTableName) {
        this.fkTableName = fkTableName;
    }

    public String getFkColumnName() {
        return fkColumnName;
    }

    public void setFkColumnName(String fkColumnName) {
        this.fkColumnName = fkColumnName;
    }

    public String getPkName() {
        return pkName;
    }

    public void setPkName(String pkName) {
        this.pkName = pkName;
    }

    public String getPkTableName() {
        return pkTableName;
    }

    public void setPkTableName(String pkTableName) {
        this.pkTableName = pkTableName;
    }

    public String getPkColumnName() {
        return pkColumnName;
    }

    public void setPkColumnName(String pkColumnName) {
        this.pkColumnName = pkColumnName;
    }

    public String getUpdateRule() {
        return updateRule;
    }

    public void setUpdateRule(String updateRule) {
        this.updateRule = updateRule;
    }

    public String getDeleteRule() {
        return deleteRule;
    }

    public void setDeleteRule(String deleteRule) {
        this.deleteRule = deleteRule;
    }

    public LocalDateTime getCreateAt() {
        return createAt;
    }

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