package com.chenyang.nse.bussiness.entity.vo;

import java.io.Serializable;
import java.util.List;

public class SensitiveColumn implements Serializable {
   private String datasourceid;
   private String datasourcename;
   private String schema;
   private String tableName;
   private String columnName;
   private String isIntelligent = "0";
   private long totalCount;
   private long validCount;
   private long distinctCount;
   private boolean isSensitiveColumn;
   private String regexType;
   private String ruleName;
   private String ruleId;
   private String regexName;
   private String isshowdata;
   private String isfile;
   private long matchCount;
   private List<String> matchValues;
   private List<String> notMatchValues;

   public String getIsfile() {
      return this.isfile;
   }

   public void setIsfile(String isfile) {
      this.isfile = isfile;
   }

   public String getIsshowdata() {
      return this.isshowdata;
   }

   public void setIsshowdata(String isshowdata) {
      this.isshowdata = isshowdata;
   }

   public String getRuleId() {
      return this.ruleId;
   }

   public void setRuleId(String ruleId) {
      this.ruleId = ruleId;
   }

   public String getRuleName() {
      return this.ruleName;
   }

   public void setRuleName(String ruleName) {
      this.ruleName = ruleName;
   }

   public String getIsIntelligent() {
      return this.isIntelligent;
   }

   public void setIsIntelligent(String isIntelligent) {
      this.isIntelligent = isIntelligent;
   }

   public SensitiveColumn() {
   }

   public SensitiveColumn(String datasourceid, String datasourcename, String schema, String tableName, String columnName) {
      this.datasourceid = datasourceid;
      this.datasourcename = datasourcename;
      this.schema = schema;
      this.tableName = tableName;
      this.columnName = columnName;
   }

   public void setMatchResult(String regexType, String regexName) {
      this.isSensitiveColumn = true;
      this.regexType = regexType;
      this.regexName = regexName;
   }

   public SensitiveColumn(String datasourceid, String datasourcename, String schema, String tableName, String columnName, long totalCount, long validCount, long distinctCount) {
      this.datasourceid = datasourceid;
      this.datasourcename = datasourcename;
      this.schema = schema;
      this.tableName = tableName;
      this.columnName = columnName;
      this.totalCount = totalCount;
      this.validCount = validCount;
      this.distinctCount = distinctCount;
   }

   public void setMatchResult(String regexType, String regexName, long matchCount, List<String> matchValues, List<String> notMatchValues) {
      this.isSensitiveColumn = true;
      this.regexType = regexType;
      this.regexName = regexName;
      this.matchCount = matchCount;
      this.matchValues = null;
      this.notMatchValues = null;
   }

   public String getTableName() {
      return this.tableName;
   }

   public void setTableName(String tableName) {
      this.tableName = tableName;
   }

   public String getColumnName() {
      return this.columnName;
   }

   public void setColumnName(String columnName) {
      this.columnName = columnName;
   }

   public boolean isSensitiveColumn() {
      return this.isSensitiveColumn;
   }

   public void setSensitiveColumn(boolean isSensitiveColumn) {
      this.isSensitiveColumn = isSensitiveColumn;
   }

   public String getRegexType() {
      return this.regexType;
   }

   public void setRegexType(String regexType) {
      this.regexType = regexType;
   }

   public String getRegexName() {
      return this.regexName;
   }

   public void setRegexName(String regexName) {
      this.regexName = regexName;
   }

   public long getTotalCount() {
      return this.totalCount;
   }

   public void setTotalCount(long totalCount) {
      this.totalCount = totalCount;
   }

   public long getValidCount() {
      return this.validCount;
   }

   public void setValidCount(long validCount) {
      this.validCount = validCount;
   }

   public long getMatchCount() {
      return this.matchCount;
   }

   public void setMatchCount(long matchCount) {
      this.matchCount = matchCount;
   }

   public List<String> getMatchValues() {
      return this.matchValues;
   }

   public void setMatchValues(List<String> matchValues) {
      this.matchValues = matchValues;
   }

   public List<String> getNotMatchValues() {
      return this.notMatchValues;
   }

   public void setNotMatchValues(List<String> notMatchValues) {
      this.notMatchValues = notMatchValues;
   }

   public String getDatasourceid() {
      return this.datasourceid;
   }

   public void setDatasourceid(String datasourceid) {
      this.datasourceid = datasourceid;
   }

   public String getSchema() {
      return this.schema;
   }

   public void setSchema(String schema) {
      this.schema = schema;
   }

   public String getDatasourcename() {
      return this.datasourcename;
   }

   public void setDatasourcename(String datasourcename) {
      this.datasourcename = datasourcename;
   }

   public long getDistinctCount() {
      return this.distinctCount;
   }

   public void setDistinctCount(long distinctCount) {
      this.distinctCount = distinctCount;
   }
}
