content: package com.cf.pay.domain;
  
  import java.util.ArrayList;
  import java.util.List;
  
  public class CfQrCodeExample {
      protected String orderByClause;
  
      protected boolean distinct;
  
      protected List<Criteria> oredCriteria;
  
      public CfQrCodeExample() {
          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(String value) {
              addCriterion("id =", value, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdNotEqualTo(String value) {
              addCriterion("id <>", value, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdGreaterThan(String value) {
              addCriterion("id >", value, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdGreaterThanOrEqualTo(String value) {
              addCriterion("id >=", value, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdLessThan(String value) {
              addCriterion("id <", value, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdLessThanOrEqualTo(String value) {
              addCriterion("id <=", value, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdLike(String value) {
              addCriterion("id like", value, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdNotLike(String value) {
              addCriterion("id not like", value, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdIn(List<String> values) {
              addCriterion("id in", values, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdNotIn(List<String> values) {
              addCriterion("id not in", values, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdBetween(String value1, String value2) {
              addCriterion("id between", value1, value2, "id");
              return (Criteria) this;
          }
  
          public Criteria andIdNotBetween(String value1, String value2) {
              addCriterion("id not between", value1, value2, "id");
              return (Criteria) this;
          }
  
          public Criteria andCodeTypeIsNull() {
              addCriterion("code_type is null");
              return (Criteria) this;
          }
  
          public Criteria andCodeTypeIsNotNull() {
              addCriterion("code_type is not null");
              return (Criteria) this;
          }
  
          public Criteria andCodeTypeEqualTo(String value) {
              addCriterion("code_type =", value, "codeType");
              return (Criteria) this;
          }
  
          public Criteria andCodeTypeNotEqualTo(String value) {
              addCriterion("code_type <>", value, "codeType");
              return (Criteria) this;
          }
  
          public Criteria andCodeTypeGreaterThan(String value) {
              addCriterion("code_type >", value, "codeType");
              return (Criteria) this;
          }
  
          public Criteria andCodeTypeGreaterThanOrEqualTo(String value) {
              addCriterion("code_type >=", value, "codeType");
              return (Criteria) this;
          }
  
          public Criteria andCodeTypeLessThan(String value) {
              addCriterion("code_type <", value, "codeType");
              return (Criteria) this;
          }
  
          public Criteria andCodeTypeLessThanOrEqualTo(String value) {
              addCriterion("code_type <=", value, "codeType");
              return (Criteria) this;
          }
  
          public Criteria andCodeTypeLike(String value) {
              addCriterion("code_type like", value, "codeType");
              return (Criteria) this;
          }
  
          public Criteria andCodeTypeNotLike(String value) {
              addCriterion("code_type not like", value, "codeType");
              return (Criteria) this;
          }
  
          public Criteria andCodeTypeIn(List<String> values) {
              addCriterion("code_type in", values, "codeType");
              return (Criteria) this;
          }
  
          public Criteria andCodeTypeNotIn(List<String> values) {
              addCriterion("code_type not in", values, "codeType");
              return (Criteria) this;
          }
  
          public Criteria andCodeTypeBetween(String value1, String value2) {
              addCriterion("code_type between", value1, value2, "codeType");
              return (Criteria) this;
          }
  
          public Criteria andCodeTypeNotBetween(String value1, String value2) {
              addCriterion("code_type not between", value1, value2, "codeType");
              return (Criteria) this;
          }
  
          public Criteria andSourceIdIsNull() {
              addCriterion("source_id is null");
              return (Criteria) this;
          }
  
          public Criteria andSourceIdIsNotNull() {
              addCriterion("source_id is not null");
              return (Criteria) this;
          }
  
          public Criteria andSourceIdEqualTo(String value) {
              addCriterion("source_id =", value, "sourceId");
              return (Criteria) this;
          }
  
          public Criteria andSourceIdNotEqualTo(String value) {
              addCriterion("source_id <>", value, "sourceId");
              return (Criteria) this;
          }
  
          public Criteria andSourceIdGreaterThan(String value) {
              addCriterion("source_id >", value, "sourceId");
              return (Criteria) this;
          }
  
          public Criteria andSourceIdGreaterThanOrEqualTo(String value) {
              addCriterion("source_id >=", value, "sourceId");
              return (Criteria) this;
          }
  
          public Criteria andSourceIdLessThan(String value) {
              addCriterion("source_id <", value, "sourceId");
              return (Criteria) this;
          }
  
          public Criteria andSourceIdLessThanOrEqualTo(String value) {
              addCriterion("source_id <=", value, "sourceId");
              return (Criteria) this;
          }
  
          public Criteria andSourceIdLike(String value) {
              addCriterion("source_id like", value, "sourceId");
              return (Criteria) this;
          }
  
          public Criteria andSourceIdNotLike(String value) {
              addCriterion("source_id not like", value, "sourceId");
              return (Criteria) this;
          }
  
          public Criteria andSourceIdIn(List<String> values) {
              addCriterion("source_id in", values, "sourceId");
              return (Criteria) this;
          }
  
          public Criteria andSourceIdNotIn(List<String> values) {
              addCriterion("source_id not in", values, "sourceId");
              return (Criteria) this;
          }
  
          public Criteria andSourceIdBetween(String value1, String value2) {
              addCriterion("source_id between", value1, value2, "sourceId");
              return (Criteria) this;
          }
  
          public Criteria andSourceIdNotBetween(String value1, String value2) {
              addCriterion("source_id not between", value1, value2, "sourceId");
              return (Criteria) this;
          }
  
          public Criteria andCreaterIdIsNull() {
              addCriterion("creater_id is null");
              return (Criteria) this;
          }
  
          public Criteria andCreaterIdIsNotNull() {
              addCriterion("creater_id is not null");
              return (Criteria) this;
          }
  
          public Criteria andCreaterIdEqualTo(String value) {
              addCriterion("creater_id =", value, "createrId");
              return (Criteria) this;
          }
  
          public Criteria andCreaterIdNotEqualTo(String value) {
              addCriterion("creater_id <>", value, "createrId");
              return (Criteria) this;
          }
  
          public Criteria andCreaterIdGreaterThan(String value) {
              addCriterion("creater_id >", value, "createrId");
              return (Criteria) this;
          }
  
          public Criteria andCreaterIdGreaterThanOrEqualTo(String value) {
              addCriterion("creater_id >=", value, "createrId");
              return (Criteria) this;
          }
  
          public Criteria andCreaterIdLessThan(String value) {
              addCriterion("creater_id <", value, "createrId");
              return (Criteria) this;
          }
  
          public Criteria andCreaterIdLessThanOrEqualTo(String value) {
              addCriterion("creater_id <=", value, "createrId");
              return (Criteria) this;
          }
  
          public Criteria andCreaterIdLike(String value) {
              addCriterion("creater_id like", value, "createrId");
              return (Criteria) this;
          }
  
          public Criteria andCreaterIdNotLike(String value) {
              addCriterion("creater_id not like", value, "createrId");
              return (Criteria) this;
          }
  
          public Criteria andCreaterIdIn(List<String> values) {
              addCriterion("creater_id in", values, "createrId");
              return (Criteria) this;
          }
  
          public Criteria andCreaterIdNotIn(List<String> values) {
              addCriterion("creater_id not in", values, "createrId");
              return (Criteria) this;
          }
  
          public Criteria andCreaterIdBetween(String value1, String value2) {
              addCriterion("creater_id between", value1, value2, "createrId");
              return (Criteria) this;
          }
  
          public Criteria andCreaterIdNotBetween(String value1, String value2) {
              addCriterion("creater_id not between", value1, value2, "createrId");
              return (Criteria) this;
          }
  
          public Criteria andFromUidIsNull() {
              addCriterion("from_uid is null");
              return (Criteria) this;
          }
  
          public Criteria andFromUidIsNotNull() {
              addCriterion("from_uid is not null");
              return (Criteria) this;
          }
  
          public Criteria andFromUidEqualTo(String value) {
              addCriterion("from_uid =", value, "fromUid");
              return (Criteria) this;
          }
  
          public Criteria andFromUidNotEqualTo(String value) {
              addCriterion("from_uid <>", value, "fromUid");
              return (Criteria) this;
          }
  
          public Criteria andFromUidGreaterThan(String value) {
              addCriterion("from_uid >", value, "fromUid");
              return (Criteria) this;
          }
  
          public Criteria andFromUidGreaterThanOrEqualTo(String value) {
              addCriterion("from_uid >=", value, "fromUid");
              return (Criteria) this;
          }
  
          public Criteria andFromUidLessThan(String value) {
              addCriterion("from_uid <", value, "fromUid");
              return (Criteria) this;
          }
  
          public Criteria andFromUidLessThanOrEqualTo(String value) {
              addCriterion("from_uid <=", value, "fromUid");
              return (Criteria) this;
          }
  
          public Criteria andFromUidLike(String value) {
              addCriterion("from_uid like", value, "fromUid");
              return (Criteria) this;
          }
  
          public Criteria andFromUidNotLike(String value) {
              addCriterion("from_uid not like", value, "fromUid");
              return (Criteria) this;
          }
  
          public Criteria andFromUidIn(List<String> values) {
              addCriterion("from_uid in", values, "fromUid");
              return (Criteria) this;
          }
  
          public Criteria andFromUidNotIn(List<String> values) {
              addCriterion("from_uid not in", values, "fromUid");
              return (Criteria) this;
          }
  
          public Criteria andFromUidBetween(String value1, String value2) {
              addCriterion("from_uid between", value1, value2, "fromUid");
              return (Criteria) this;
          }
  
          public Criteria andFromUidNotBetween(String value1, String value2) {
              addCriterion("from_uid not between", value1, value2, "fromUid");
              return (Criteria) this;
          }
  
          public Criteria andToUidIsNull() {
              addCriterion("to_uid is null");
              return (Criteria) this;
          }
  
          public Criteria andToUidIsNotNull() {
              addCriterion("to_uid is not null");
              return (Criteria) this;
          }
  
          public Criteria andToUidEqualTo(String value) {
              addCriterion("to_uid =", value, "toUid");
              return (Criteria) this;
          }
  
          public Criteria andToUidNotEqualTo(String value) {
              addCriterion("to_uid <>", value, "toUid");
              return (Criteria) this;
          }
  
          public Criteria andToUidGreaterThan(String value) {
              addCriterion("to_uid >", value, "toUid");
              return (Criteria) this;
          }
  
          public Criteria andToUidGreaterThanOrEqualTo(String value) {
              addCriterion("to_uid >=", value, "toUid");
              return (Criteria) this;
          }
  
          public Criteria andToUidLessThan(String value) {
              addCriterion("to_uid <", value, "toUid");
              return (Criteria) this;
          }
  
          public Criteria andToUidLessThanOrEqualTo(String value) {
              addCriterion("to_uid <=", value, "toUid");
              return (Criteria) this;
          }
  
          public Criteria andToUidLike(String value) {
              addCriterion("to_uid like", value, "toUid");
              return (Criteria) this;
          }
  
          public Criteria andToUidNotLike(String value) {
              addCriterion("to_uid not like", value, "toUid");
              return (Criteria) this;
          }
  
          public Criteria andToUidIn(List<String> values) {
              addCriterion("to_uid in", values, "toUid");
              return (Criteria) this;
          }
  
          public Criteria andToUidNotIn(List<String> values) {
              addCriterion("to_uid not in", values, "toUid");
              return (Criteria) this;
          }
  
          public Criteria andToUidBetween(String value1, String value2) {
              addCriterion("to_uid between", value1, value2, "toUid");
              return (Criteria) this;
          }
  
          public Criteria andToUidNotBetween(String value1, String value2) {
              addCriterion("to_uid not between", value1, value2, "toUid");
              return (Criteria) this;
          }
  
          public Criteria andImageIsNull() {
              addCriterion("image is null");
              return (Criteria) this;
          }
  
          public Criteria andImageIsNotNull() {
              addCriterion("image is not null");
              return (Criteria) this;
          }
  
          public Criteria andImageEqualTo(String value) {
              addCriterion("image =", value, "image");
              return (Criteria) this;
          }
  
          public Criteria andImageNotEqualTo(String value) {
              addCriterion("image <>", value, "image");
              return (Criteria) this;
          }
  
          public Criteria andImageGreaterThan(String value) {
              addCriterion("image >", value, "image");
              return (Criteria) this;
          }
  
          public Criteria andImageGreaterThanOrEqualTo(String value) {
              addCriterion("image >=", value, "image");
              return (Criteria) this;
          }
  
          public Criteria andImageLessThan(String value) {
              addCriterion("image <", value, "image");
              return (Criteria) this;
          }
  
          public Criteria andImageLessThanOrEqualTo(String value) {
              addCriterion("image <=", value, "image");
              return (Criteria) this;
          }
  
          public Criteria andImageLike(String value) {
              addCriterion("image like", value, "image");
              return (Criteria) this;
          }
  
          public Criteria andImageNotLike(String value) {
              addCriterion("image not like", value, "image");
              return (Criteria) this;
          }
  
          public Criteria andImageIn(List<String> values) {
              addCriterion("image in", values, "image");
              return (Criteria) this;
          }
  
          public Criteria andImageNotIn(List<String> values) {
              addCriterion("image not in", values, "image");
              return (Criteria) this;
          }
  
          public Criteria andImageBetween(String value1, String value2) {
              addCriterion("image between", value1, value2, "image");
              return (Criteria) this;
          }
  
          public Criteria andImageNotBetween(String value1, String value2) {
              addCriterion("image not between", value1, value2, "image");
              return (Criteria) this;
          }
  
          public Criteria andCreateTimeIsNull() {
              addCriterion("create_time is null");
              return (Criteria) this;
          }
  
          public Criteria andCreateTimeIsNotNull() {
              addCriterion("create_time is not null");
              return (Criteria) this;
          }
  
          public Criteria andCreateTimeEqualTo(Long value) {
              addCriterion("create_time =", value, "createTime");
              return (Criteria) this;
          }
  
          public Criteria andCreateTimeNotEqualTo(Long value) {
              addCriterion("create_time <>", value, "createTime");
              return (Criteria) this;
          }
  
          public Criteria andCreateTimeGreaterThan(Long value) {
              addCriterion("create_time >", value, "createTime");
              return (Criteria) this;
          }
  
          public Criteria andCreateTimeGreaterThanOrEqualTo(Long value) {
              addCriterion("create_time >=", value, "createTime");
              return (Criteria) this;
          }
  
          public Criteria andCreateTimeLessThan(Long value) {
              addCriterion("create_time <", value, "createTime");
              return (Criteria) this;
          }
  
          public Criteria andCreateTimeLessThanOrEqualTo(Long value) {
              addCriterion("create_time <=", value, "createTime");
              return (Criteria) this;
          }
  
          public Criteria andCreateTimeIn(List<Long> values) {
              addCriterion("create_time in", values, "createTime");
              return (Criteria) this;
          }
  
          public Criteria andCreateTimeNotIn(List<Long> values) {
              addCriterion("create_time not in", values, "createTime");
              return (Criteria) this;
          }
  
          public Criteria andCreateTimeBetween(Long value1, Long value2) {
              addCriterion("create_time between", value1, value2, "createTime");
              return (Criteria) this;
          }
  
          public Criteria andCreateTimeNotBetween(Long value1, Long value2) {
              addCriterion("create_time not between", value1, value2, "createTime");
              return (Criteria) this;
          }
  
          public Criteria andEffectiveTimeIsNull() {
              addCriterion("effective_time is null");
              return (Criteria) this;
          }
  
          public Criteria andEffectiveTimeIsNotNull() {
              addCriterion("effective_time is not null");
              return (Criteria) this;
          }
  
          public Criteria andEffectiveTimeEqualTo(Long value) {
              addCriterion("effective_time =", value, "effectiveTime");
              return (Criteria) this;
          }
  
          public Criteria andEffectiveTimeNotEqualTo(Long value) {
              addCriterion("effective_time <>", value, "effectiveTime");
              return (Criteria) this;
          }
  
          public Criteria andEffectiveTimeGreaterThan(Long value) {
              addCriterion("effective_time >", value, "effectiveTime");
              return (Criteria) this;
          }
  
          public Criteria andEffectiveTimeGreaterThanOrEqualTo(Long value) {
              addCriterion("effective_time >=", value, "effectiveTime");
              return (Criteria) this;
          }
  
          public Criteria andEffectiveTimeLessThan(Long value) {
              addCriterion("effective_time <", value, "effectiveTime");
              return (Criteria) this;
          }
  
          public Criteria andEffectiveTimeLessThanOrEqualTo(Long value) {
              addCriterion("effective_time <=", value, "effectiveTime");
              return (Criteria) this;
          }
  
          public Criteria andEffectiveTimeIn(List<Long> values) {
              addCriterion("effective_time in", values, "effectiveTime");
              return (Criteria) this;
          }
  
          public Criteria andEffectiveTimeNotIn(List<Long> values) {
              addCriterion("effective_time not in", values, "effectiveTime");
              return (Criteria) this;
          }
  
          public Criteria andEffectiveTimeBetween(Long value1, Long value2) {
              addCriterion("effective_time between", value1, value2, "effectiveTime");
              return (Criteria) this;
          }
  
          public Criteria andEffectiveTimeNotBetween(Long value1, Long value2) {
              addCriterion("effective_time not between", value1, value2, "effectiveTime");
              return (Criteria) this;
          }
  
          public Criteria andSourceTypeIsNull() {
              addCriterion("source_type is null");
              return (Criteria) this;
          }
  
          public Criteria andSourceTypeIsNotNull() {
              addCriterion("source_type is not null");
              return (Criteria) this;
          }
  
          public Criteria andSourceTypeEqualTo(Byte value) {
              addCriterion("source_type =", value, "sourceType");
              return (Criteria) this;
          }
  
          public Criteria andSourceTypeNotEqualTo(Byte value) {
              addCriterion("source_type <>", value, "sourceType");
              return (Criteria) this;
          }
  
          public Criteria andSourceTypeGreaterThan(Byte value) {
              addCriterion("source_type >", value, "sourceType");
              return (Criteria) this;
          }
  
          public Criteria andSourceTypeGreaterThanOrEqualTo(Byte value) {
              addCriterion("source_type >=", value, "sourceType");
              return (Criteria) this;
          }
  
          public Criteria andSourceTypeLessThan(Byte value) {
              addCriterion("source_type <", value, "sourceType");
              return (Criteria) this;
          }
  
          public Criteria andSourceTypeLessThanOrEqualTo(Byte value) {
              addCriterion("source_type <=", value, "sourceType");
              return (Criteria) this;
          }
  
          public Criteria andSourceTypeIn(List<Byte> values) {
              addCriterion("source_type in", values, "sourceType");
              return (Criteria) this;
          }
  
          public Criteria andSourceTypeNotIn(List<Byte> values) {
              addCriterion("source_type not in", values, "sourceType");
              return (Criteria) this;
          }
  
          public Criteria andSourceTypeBetween(Byte value1, Byte value2) {
              addCriterion("source_type between", value1, value2, "sourceType");
              return (Criteria) this;
          }
  
          public Criteria andSourceTypeNotBetween(Byte value1, Byte value2) {
              addCriterion("source_type not between", value1, value2, "sourceType");
              return (Criteria) this;
          }
  
          public Criteria andQuantityIsNull() {
              addCriterion("quantity is null");
              return (Criteria) this;
          }
  
          public Criteria andQuantityIsNotNull() {
              addCriterion("quantity is not null");
              return (Criteria) this;
          }
  
          public Criteria andQuantityEqualTo(Long value) {
              addCriterion("quantity =", value, "quantity");
              return (Criteria) this;
          }
  
          public Criteria andQuantityNotEqualTo(Long value) {
              addCriterion("quantity <>", value, "quantity");
              return (Criteria) this;
          }
  
          public Criteria andQuantityGreaterThan(Long value) {
              addCriterion("quantity >", value, "quantity");
              return (Criteria) this;
          }
  
          public Criteria andQuantityGreaterThanOrEqualTo(Long value) {
              addCriterion("quantity >=", value, "quantity");
              return (Criteria) this;
          }
  
          public Criteria andQuantityLessThan(Long value) {
              addCriterion("quantity <", value, "quantity");
              return (Criteria) this;
          }
  
          public Criteria andQuantityLessThanOrEqualTo(Long value) {
              addCriterion("quantity <=", value, "quantity");
              return (Criteria) this;
          }
  
          public Criteria andQuantityIn(List<Long> values) {
              addCriterion("quantity in", values, "quantity");
              return (Criteria) this;
          }
  
          public Criteria andQuantityNotIn(List<Long> values) {
              addCriterion("quantity not in", values, "quantity");
              return (Criteria) this;
          }
  
          public Criteria andQuantityBetween(Long value1, Long value2) {
              addCriterion("quantity between", value1, value2, "quantity");
              return (Criteria) this;
          }
  
          public Criteria andQuantityNotBetween(Long value1, Long value2) {
              addCriterion("quantity not between", value1, value2, "quantity");
              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);
          }
      }
  }