package com.salpa.subject.domain;

import java.io.Serializable;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.util.Arrays;

/**
 * 数据库配置表 monitor_project_sync_rule
 *
 * @author zhuff
 */
public class MonitorProjectSyncRule implements Serializable {

    private static final long serialVersionUID = 1L;

    /** ID */
    private Integer id;

    /** 项目ID */
    private Integer projectId;

    /** 忽略表名称 */
    private String ignoreTableNameRegexArray;

    /** 忽略字段名称 */
    private String ignoreColumnNameRegexArray;

    /** 是否定时同步 */
    private boolean autoSync;

    /** cron表达式 */
    private String autoSyncCron;

    /** 修改时间 */
    private LocalDateTime updateAt;

    /** 创建时间 */
    private LocalDateTime createAt;

    public Integer getId() {
        return id;
    }

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

    public Integer getProjectId() {
        return projectId;
    }

    public void setProjectId(Integer projectId) {
        this.projectId = projectId;
    }

    public String getIgnoreTableNameRegexArray() {
        return ignoreTableNameRegexArray;
    }

    public void setIgnoreTableNameRegexArray(String ignoreTableNameRegexArray) {
        this.ignoreTableNameRegexArray = ignoreTableNameRegexArray;
    }

    public String getIgnoreColumnNameRegexArray() {
        return ignoreColumnNameRegexArray;
    }

    public void setIgnoreColumnNameRegexArray(String ignoreColumnNameRegexArray) {
        this.ignoreColumnNameRegexArray = ignoreColumnNameRegexArray;
    }

    public boolean isAutoSync() {
        return autoSync;
    }

    public void setAutoSync(boolean autoSync) {
        this.autoSync = autoSync;
    }

    public String getAutoSyncCron() {
        return autoSyncCron;
    }

    public void setAutoSyncCron(String autoSyncCron) {
        this.autoSyncCron = autoSyncCron;
    }

    public LocalDateTime getUpdateAt() {
        return updateAt;
    }

    public void setUpdateAt(LocalDateTime updateAt) {
        this.updateAt = updateAt;
    }

    public LocalDateTime getCreateAt() {
        return createAt;
    }

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

    @Override
    public String toString() {
        return "MonitorProjectSyncRule{" +
                "id=" + id +
                ", projectId=" + projectId +
                ", ignoreTableNameRegexArray='" + ignoreTableNameRegexArray + '\'' +
                ", ignoreColumnNameRegexArray='" + ignoreColumnNameRegexArray + '\'' +
                ", autoSync=" + autoSync +
                ", autoSyncCron='" + autoSyncCron + '\'' +
                ", updateAt=" + updateAt +
                ", createAt=" + createAt +
                '}';
    }
}
