content: package com.alibaba.sreworks.pmdb.domain.metric;
  
  import java.util.ArrayList;
  import java.util.Date;
  import java.util.List;
  
  public class MetricAnomalyDetectionConfigExample {
      protected String orderByClause;
  
      protected boolean distinct;
  
      protected List<Criteria> oredCriteria;
  
      public MetricAnomalyDetectionConfigExample() {
          oredCriteria = new ArrayList<Criteria>();
      }
  
      public void setOrderByClause(String orderByClause) {
          this.orderByClause = orderByClause;
      }
  
      public String getOrderByClause() {
          return orderByClause;
      }
  
      public void setDistinct(boolean distinct) {
          this.distinct = distinct;
      }
  
      public boolean isDistinct() {
          return distinct;
      }
  
      public List<Criteria> getOredCriteria() {
          return oredCriteria;
      }
  
      public void or(Criteria criteria) {
          oredCriteria.add(criteria);
      }
  
      public Criteria or() {
          Criteria criteria = createCriteriaInternal();
          oredCriteria.add(criteria);
          return criteria;
      }
  
      public Criteria createCriteria() {
          Criteria criteria = createCriteriaInternal();
          if (oredCriteria.size() == 0) {
              oredCriteria.add(criteria);
          }
          return criteria;
      }
  
      protected Criteria createCriteriaInternal() {
          Criteria criteria = new Criteria();
          return criteria;
      }
  
      public void clear() {
          oredCriteria.clear();
          orderByClause = null;
          distinct = false;
      }
  
      protected abstract static class GeneratedCriteria {
          protected List<Criterion> criteria;
  
          protected GeneratedCriteria() {
              super();
              criteria = new ArrayList<Criterion>();
          }
  
          public boolean isValid() {
              return criteria.size() > 0;
          }
  
          public List<Criterion> getAllCriteria() {
              return criteria;
          }
  
          public List<Criterion> getCriteria() {
              return criteria;
          }
  
          protected void addCriterion(String condition) {
              if (condition == null) {
                  throw new RuntimeException("Value for condition cannot be null");
              }
              criteria.add(new Criterion(condition));
          }
  
          protected void addCriterion(String condition, Object value, String property) {
              if (value == null) {
                  throw new RuntimeException("Value for " + property + " cannot be null");
              }
              criteria.add(new Criterion(condition, value));
          }
  
          protected void addCriterion(String condition, Object value1, Object value2, String property) {
              if (value1 == null || value2 == null) {
                  throw new RuntimeException("Between values for " + property + " cannot be null");
              }
              criteria.add(new Criterion(condition, value1, value2));
          }
  
          public Criteria andIdIsNull() {
              addCriterion("id is null");
              return (Criteria) this;
          }
  
          public Criteria andIdIsNotNull() {
              addCriterion("id is not null");
              return (Criteria) this;
          }
  
          public Criteria andIdEqualTo(Integer value) {
              addCriterion("id =", value, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdNotEqualTo(Integer value) {
              addCriterion("id <>", value, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdGreaterThan(Integer value) {
              addCriterion("id >", value, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdGreaterThanOrEqualTo(Integer value) {
              addCriterion("id >=", value, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdLessThan(Integer value) {
              addCriterion("id <", value, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdLessThanOrEqualTo(Integer value) {
              addCriterion("id <=", value, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdIn(List<Integer> values) {
              addCriterion("id in", values, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdNotIn(List<Integer> values) {
              addCriterion("id not in", values, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdBetween(Integer value1, Integer value2) {
              addCriterion("id between", value1, value2, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdNotBetween(Integer value1, Integer value2) {
              addCriterion("id not between", value1, value2, "id");
              return (Criteria) this;
          }
  
          public Criteria andGmtCreateIsNull() {
              addCriterion("gmt_create is null");
              return (Criteria) this;
          }
  
          public Criteria andGmtCreateIsNotNull() {
              addCriterion("gmt_create is not null");
              return (Criteria) this;
          }
  
          public Criteria andGmtCreateEqualTo(Date value) {
              addCriterion("gmt_create =", value, "gmtCreate");
              return (Criteria) this;
          }
  
          public Criteria andGmtCreateNotEqualTo(Date value) {
              addCriterion("gmt_create <>", value, "gmtCreate");
              return (Criteria) this;
          }
  
          public Criteria andGmtCreateGreaterThan(Date value) {
              addCriterion("gmt_create >", value, "gmtCreate");
              return (Criteria) this;
          }
  
          public Criteria andGmtCreateGreaterThanOrEqualTo(Date value) {
              addCriterion("gmt_create >=", value, "gmtCreate");
              return (Criteria) this;
          }
  
          public Criteria andGmtCreateLessThan(Date value) {
              addCriterion("gmt_create <", value, "gmtCreate");
              return (Criteria) this;
          }
  
          public Criteria andGmtCreateLessThanOrEqualTo(Date value) {
              addCriterion("gmt_create <=", value, "gmtCreate");
              return (Criteria) this;
          }
  
          public Criteria andGmtCreateIn(List<Date> values) {
              addCriterion("gmt_create in", values, "gmtCreate");
              return (Criteria) this;
          }
  
          public Criteria andGmtCreateNotIn(List<Date> values) {
              addCriterion("gmt_create not in", values, "gmtCreate");
              return (Criteria) this;
          }
  
          public Criteria andGmtCreateBetween(Date value1, Date value2) {
              addCriterion("gmt_create between", value1, value2, "gmtCreate");
              return (Criteria) this;
          }
  
          public Criteria andGmtCreateNotBetween(Date value1, Date value2) {
              addCriterion("gmt_create not between", value1, value2, "gmtCreate");
              return (Criteria) this;
          }
  
          public Criteria andGmtModifiedIsNull() {
              addCriterion("gmt_modified is null");
              return (Criteria) this;
          }
  
          public Criteria andGmtModifiedIsNotNull() {
              addCriterion("gmt_modified is not null");
              return (Criteria) this;
          }
  
          public Criteria andGmtModifiedEqualTo(Date value) {
              addCriterion("gmt_modified =", value, "gmtModified");
              return (Criteria) this;
          }
  
          public Criteria andGmtModifiedNotEqualTo(Date value) {
              addCriterion("gmt_modified <>", value, "gmtModified");
              return (Criteria) this;
          }
  
          public Criteria andGmtModifiedGreaterThan(Date value) {
              addCriterion("gmt_modified >", value, "gmtModified");
              return (Criteria) this;
          }
  
          public Criteria andGmtModifiedGreaterThanOrEqualTo(Date value) {
              addCriterion("gmt_modified >=", value, "gmtModified");
              return (Criteria) this;
          }
  
          public Criteria andGmtModifiedLessThan(Date value) {
              addCriterion("gmt_modified <", value, "gmtModified");
              return (Criteria) this;
          }
  
          public Criteria andGmtModifiedLessThanOrEqualTo(Date value) {
              addCriterion("gmt_modified <=", value, "gmtModified");
              return (Criteria) this;
          }
  
          public Criteria andGmtModifiedIn(List<Date> values) {
              addCriterion("gmt_modified in", values, "gmtModified");
              return (Criteria) this;
          }
  
          public Criteria andGmtModifiedNotIn(List<Date> values) {
              addCriterion("gmt_modified not in", values, "gmtModified");
              return (Criteria) this;
          }
  
          public Criteria andGmtModifiedBetween(Date value1, Date value2) {
              addCriterion("gmt_modified between", value1, value2, "gmtModified");
              return (Criteria) this;
          }
  
          public Criteria andGmtModifiedNotBetween(Date value1, Date value2) {
              addCriterion("gmt_modified not between", value1, value2, "gmtModified");
              return (Criteria) this;
          }
  
          public Criteria andRuleIdIsNull() {
              addCriterion("rule_id is null");
              return (Criteria) this;
          }
  
          public Criteria andRuleIdIsNotNull() {
              addCriterion("rule_id is not null");
              return (Criteria) this;
          }
  
          public Criteria andRuleIdEqualTo(Integer value) {
              addCriterion("rule_id =", value, "ruleId");
              return (Criteria) this;
          }
  
          public Criteria andRuleIdNotEqualTo(Integer value) {
              addCriterion("rule_id <>", value, "ruleId");
              return (Criteria) this;
          }
  
          public Criteria andRuleIdGreaterThan(Integer value) {
              addCriterion("rule_id >", value, "ruleId");
              return (Criteria) this;
          }
  
          public Criteria andRuleIdGreaterThanOrEqualTo(Integer value) {
              addCriterion("rule_id >=", value, "ruleId");
              return (Criteria) this;
          }
  
          public Criteria andRuleIdLessThan(Integer value) {
              addCriterion("rule_id <", value, "ruleId");
              return (Criteria) this;
          }
  
          public Criteria andRuleIdLessThanOrEqualTo(Integer value) {
              addCriterion("rule_id <=", value, "ruleId");
              return (Criteria) this;
          }
  
          public Criteria andRuleIdIn(List<Integer> values) {
              addCriterion("rule_id in", values, "ruleId");
              return (Criteria) this;
          }
  
          public Criteria andRuleIdNotIn(List<Integer> values) {
              addCriterion("rule_id not in", values, "ruleId");
              return (Criteria) this;
          }
  
          public Criteria andRuleIdBetween(Integer value1, Integer value2) {
              addCriterion("rule_id between", value1, value2, "ruleId");
              return (Criteria) this;
          }
  
          public Criteria andRuleIdNotBetween(Integer value1, Integer value2) {
              addCriterion("rule_id not between", value1, value2, "ruleId");
              return (Criteria) this;
          }
  
          public Criteria andMetricIdIsNull() {
              addCriterion("metric_id is null");
              return (Criteria) this;
          }
  
          public Criteria andMetricIdIsNotNull() {
              addCriterion("metric_id is not null");
              return (Criteria) this;
          }
  
          public Criteria andMetricIdEqualTo(Integer value) {
              addCriterion("metric_id =", value, "metricId");
              return (Criteria) this;
          }
  
          public Criteria andMetricIdNotEqualTo(Integer value) {
              addCriterion("metric_id <>", value, "metricId");
              return (Criteria) this;
          }
  
          public Criteria andMetricIdGreaterThan(Integer value) {
              addCriterion("metric_id >", value, "metricId");
              return (Criteria) this;
          }
  
          public Criteria andMetricIdGreaterThanOrEqualTo(Integer value) {
              addCriterion("metric_id >=", value, "metricId");
              return (Criteria) this;
          }
  
          public Criteria andMetricIdLessThan(Integer value) {
              addCriterion("metric_id <", value, "metricId");
              return (Criteria) this;
          }
  
          public Criteria andMetricIdLessThanOrEqualTo(Integer value) {
              addCriterion("metric_id <=", value, "metricId");
              return (Criteria) this;
          }
  
          public Criteria andMetricIdIn(List<Integer> values) {
              addCriterion("metric_id in", values, "metricId");
              return (Criteria) this;
          }
  
          public Criteria andMetricIdNotIn(List<Integer> values) {
              addCriterion("metric_id not in", values, "metricId");
              return (Criteria) this;
          }
  
          public Criteria andMetricIdBetween(Integer value1, Integer value2) {
              addCriterion("metric_id between", value1, value2, "metricId");
              return (Criteria) this;
          }
  
          public Criteria andMetricIdNotBetween(Integer value1, Integer value2) {
              addCriterion("metric_id not between", value1, value2, "metricId");
              return (Criteria) this;
          }
  
          public Criteria andEnableIsNull() {
              addCriterion("enable is null");
              return (Criteria) this;
          }
  
          public Criteria andEnableIsNotNull() {
              addCriterion("enable is not null");
              return (Criteria) this;
          }
  
          public Criteria andEnableEqualTo(Boolean value) {
              addCriterion("enable =", value, "enable");
              return (Criteria) this;
          }
  
          public Criteria andEnableNotEqualTo(Boolean value) {
              addCriterion("enable <>", value, "enable");
              return (Criteria) this;
          }
  
          public Criteria andEnableGreaterThan(Boolean value) {
              addCriterion("enable >", value, "enable");
              return (Criteria) this;
          }
  
          public Criteria andEnableGreaterThanOrEqualTo(Boolean value) {
              addCriterion("enable >=", value, "enable");
              return (Criteria) this;
          }
  
          public Criteria andEnableLessThan(Boolean value) {
              addCriterion("enable <", value, "enable");
              return (Criteria) this;
          }
  
          public Criteria andEnableLessThanOrEqualTo(Boolean value) {
              addCriterion("enable <=", value, "enable");
              return (Criteria) this;
          }
  
          public Criteria andEnableIn(List<Boolean> values) {
              addCriterion("enable in", values, "enable");
              return (Criteria) this;
          }
  
          public Criteria andEnableNotIn(List<Boolean> values) {
              addCriterion("enable not in", values, "enable");
              return (Criteria) this;
          }
  
          public Criteria andEnableBetween(Boolean value1, Boolean value2) {
              addCriterion("enable between", value1, value2, "enable");
              return (Criteria) this;
          }
  
          public Criteria andEnableNotBetween(Boolean value1, Boolean value2) {
              addCriterion("enable not between", value1, value2, "enable");
              return (Criteria) this;
          }
  
          public Criteria andCreatorIsNull() {
              addCriterion("creator is null");
              return (Criteria) this;
          }
  
          public Criteria andCreatorIsNotNull() {
              addCriterion("creator is not null");
              return (Criteria) this;
          }
  
          public Criteria andCreatorEqualTo(String value) {
              addCriterion("creator =", value, "creator");
              return (Criteria) this;
          }
  
          public Criteria andCreatorNotEqualTo(String value) {
              addCriterion("creator <>", value, "creator");
              return (Criteria) this;
          }
  
          public Criteria andCreatorGreaterThan(String value) {
              addCriterion("creator >", value, "creator");
              return (Criteria) this;
          }
  
          public Criteria andCreatorGreaterThanOrEqualTo(String value) {
              addCriterion("creator >=", value, "creator");
              return (Criteria) this;
          }
  
          public Criteria andCreatorLessThan(String value) {
              addCriterion("creator <", value, "creator");
              return (Criteria) this;
          }
  
          public Criteria andCreatorLessThanOrEqualTo(String value) {
              addCriterion("creator <=", value, "creator");
              return (Criteria) this;
          }
  
          public Criteria andCreatorLike(String value) {
              addCriterion("creator like", value, "creator");
              return (Criteria) this;
          }
  
          public Criteria andCreatorNotLike(String value) {
              addCriterion("creator not like", value, "creator");
              return (Criteria) this;
          }
  
          public Criteria andCreatorIn(List<String> values) {
              addCriterion("creator in", values, "creator");
              return (Criteria) this;
          }
  
          public Criteria andCreatorNotIn(List<String> values) {
              addCriterion("creator not in", values, "creator");
              return (Criteria) this;
          }
  
          public Criteria andCreatorBetween(String value1, String value2) {
              addCriterion("creator between", value1, value2, "creator");
              return (Criteria) this;
          }
  
          public Criteria andCreatorNotBetween(String value1, String value2) {
              addCriterion("creator not between", value1, value2, "creator");
              return (Criteria) this;
          }
  
          public Criteria andOwnersIsNull() {
              addCriterion("owners is null");
              return (Criteria) this;
          }
  
          public Criteria andOwnersIsNotNull() {
              addCriterion("owners is not null");
              return (Criteria) this;
          }
  
          public Criteria andOwnersEqualTo(String value) {
              addCriterion("owners =", value, "owners");
              return (Criteria) this;
          }
  
          public Criteria andOwnersNotEqualTo(String value) {
              addCriterion("owners <>", value, "owners");
              return (Criteria) this;
          }
  
          public Criteria andOwnersGreaterThan(String value) {
              addCriterion("owners >", value, "owners");
              return (Criteria) this;
          }
  
          public Criteria andOwnersGreaterThanOrEqualTo(String value) {
              addCriterion("owners >=", value, "owners");
              return (Criteria) this;
          }
  
          public Criteria andOwnersLessThan(String value) {
              addCriterion("owners <", value, "owners");
              return (Criteria) this;
          }
  
          public Criteria andOwnersLessThanOrEqualTo(String value) {
              addCriterion("owners <=", value, "owners");
              return (Criteria) this;
          }
  
          public Criteria andOwnersLike(String value) {
              addCriterion("owners like", value, "owners");
              return (Criteria) this;
          }
  
          public Criteria andOwnersNotLike(String value) {
              addCriterion("owners not like", value, "owners");
              return (Criteria) this;
          }
  
          public Criteria andOwnersIn(List<String> values) {
              addCriterion("owners in", values, "owners");
              return (Criteria) this;
          }
  
          public Criteria andOwnersNotIn(List<String> values) {
              addCriterion("owners not in", values, "owners");
              return (Criteria) this;
          }
  
          public Criteria andOwnersBetween(String value1, String value2) {
              addCriterion("owners between", value1, value2, "owners");
              return (Criteria) this;
          }
  
          public Criteria andOwnersNotBetween(String value1, String value2) {
              addCriterion("owners not between", value1, value2, "owners");
              return (Criteria) this;
          }
  
          public Criteria andCreatorLikeInsensitive(String value) {
              addCriterion("upper(creator) like", value.toUpperCase(), "creator");
              return (Criteria) this;
          }
  
          public Criteria andOwnersLikeInsensitive(String value) {
              addCriterion("upper(owners) like", value.toUpperCase(), "owners");
              return (Criteria) this;
          }
      }
  
      public static class Criteria extends GeneratedCriteria {
  
          protected Criteria() {
              super();
          }
      }
  
      public static class Criterion {
          private String condition;
  
          private Object value;
  
          private Object secondValue;
  
          private boolean noValue;
  
          private boolean singleValue;
  
          private boolean betweenValue;
  
          private boolean listValue;
  
          private String typeHandler;
  
          public String getCondition() {
              return condition;
          }
  
          public Object getValue() {
              return value;
          }
  
          public Object getSecondValue() {
              return secondValue;
          }
  
          public boolean isNoValue() {
              return noValue;
          }
  
          public boolean isSingleValue() {
              return singleValue;
          }
  
          public boolean isBetweenValue() {
              return betweenValue;
          }
  
          public boolean isListValue() {
              return listValue;
          }
  
          public String getTypeHandler() {
              return typeHandler;
          }
  
          protected Criterion(String condition) {
              super();
              this.condition = condition;
              this.typeHandler = null;
              this.noValue = true;
          }
  
          protected Criterion(String condition, Object value, String typeHandler) {
              super();
              this.condition = condition;
              this.value = value;
              this.typeHandler = typeHandler;
              if (value instanceof List<?>) {
                  this.listValue = true;
              } else {
                  this.singleValue = true;
              }
          }
  
          protected Criterion(String condition, Object value) {
              this(condition, value, null);
          }
  
          protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
              super();
              this.condition = condition;
              this.value = value;
              this.secondValue = secondValue;
              this.typeHandler = typeHandler;
              this.betweenValue = true;
          }
  
          protected Criterion(String condition, Object value, Object secondValue) {
              this(condition, value, secondValue, null);
          }
      }
  }