content: package com.vua.upms.dao.model;
  
  import java.io.Serializable;
  import java.util.ArrayList;
  import java.util.List;
  
  public class UpmsLogExample implements Serializable {
      protected String orderByClause;
  
      protected boolean distinct;
  
      protected List<Criteria> oredCriteria;
  
      private static final long serialVersionUID = 1L;
  
      public UpmsLogExample() {
          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 implements Serializable {
          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 andLogIdIsNull() {
              addCriterion("log_id is null");
              return (Criteria) this;
          }
  
          public Criteria andLogIdIsNotNull() {
              addCriterion("log_id is not null");
              return (Criteria) this;
          }
  
          public Criteria andLogIdEqualTo(Integer value) {
              addCriterion("log_id =", value, "logId");
              return (Criteria) this;
          }
  
          public Criteria andLogIdNotEqualTo(Integer value) {
              addCriterion("log_id <>", value, "logId");
              return (Criteria) this;
          }
  
          public Criteria andLogIdGreaterThan(Integer value) {
              addCriterion("log_id >", value, "logId");
              return (Criteria) this;
          }
  
          public Criteria andLogIdGreaterThanOrEqualTo(Integer value) {
              addCriterion("log_id >=", value, "logId");
              return (Criteria) this;
          }
  
          public Criteria andLogIdLessThan(Integer value) {
              addCriterion("log_id <", value, "logId");
              return (Criteria) this;
          }
  
          public Criteria andLogIdLessThanOrEqualTo(Integer value) {
              addCriterion("log_id <=", value, "logId");
              return (Criteria) this;
          }
  
          public Criteria andLogIdIn(List<Integer> values) {
              addCriterion("log_id in", values, "logId");
              return (Criteria) this;
          }
  
          public Criteria andLogIdNotIn(List<Integer> values) {
              addCriterion("log_id not in", values, "logId");
              return (Criteria) this;
          }
  
          public Criteria andLogIdBetween(Integer value1, Integer value2) {
              addCriterion("log_id between", value1, value2, "logId");
              return (Criteria) this;
          }
  
          public Criteria andLogIdNotBetween(Integer value1, Integer value2) {
              addCriterion("log_id not between", value1, value2, "logId");
              return (Criteria) this;
          }
  
          public Criteria andDescriptionIsNull() {
              addCriterion("description is null");
              return (Criteria) this;
          }
  
          public Criteria andDescriptionIsNotNull() {
              addCriterion("description is not null");
              return (Criteria) this;
          }
  
          public Criteria andDescriptionEqualTo(String value) {
              addCriterion("description =", value, "description");
              return (Criteria) this;
          }
  
          public Criteria andDescriptionNotEqualTo(String value) {
              addCriterion("description <>", value, "description");
              return (Criteria) this;
          }
  
          public Criteria andDescriptionGreaterThan(String value) {
              addCriterion("description >", value, "description");
              return (Criteria) this;
          }
  
          public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
              addCriterion("description >=", value, "description");
              return (Criteria) this;
          }
  
          public Criteria andDescriptionLessThan(String value) {
              addCriterion("description <", value, "description");
              return (Criteria) this;
          }
  
          public Criteria andDescriptionLessThanOrEqualTo(String value) {
              addCriterion("description <=", value, "description");
              return (Criteria) this;
          }
  
          public Criteria andDescriptionLike(String value) {
              addCriterion("description like", value, "description");
              return (Criteria) this;
          }
  
          public Criteria andDescriptionNotLike(String value) {
              addCriterion("description not like", value, "description");
              return (Criteria) this;
          }
  
          public Criteria andDescriptionIn(List<String> values) {
              addCriterion("description in", values, "description");
              return (Criteria) this;
          }
  
          public Criteria andDescriptionNotIn(List<String> values) {
              addCriterion("description not in", values, "description");
              return (Criteria) this;
          }
  
          public Criteria andDescriptionBetween(String value1, String value2) {
              addCriterion("description between", value1, value2, "description");
              return (Criteria) this;
          }
  
          public Criteria andDescriptionNotBetween(String value1, String value2) {
              addCriterion("description not between", value1, value2, "description");
              return (Criteria) this;
          }
  
          public Criteria andUsernameIsNull() {
              addCriterion("username is null");
              return (Criteria) this;
          }
  
          public Criteria andUsernameIsNotNull() {
              addCriterion("username is not null");
              return (Criteria) this;
          }
  
          public Criteria andUsernameEqualTo(String value) {
              addCriterion("username =", value, "username");
              return (Criteria) this;
          }
  
          public Criteria andUsernameNotEqualTo(String value) {
              addCriterion("username <>", value, "username");
              return (Criteria) this;
          }
  
          public Criteria andUsernameGreaterThan(String value) {
              addCriterion("username >", value, "username");
              return (Criteria) this;
          }
  
          public Criteria andUsernameGreaterThanOrEqualTo(String value) {
              addCriterion("username >=", value, "username");
              return (Criteria) this;
          }
  
          public Criteria andUsernameLessThan(String value) {
              addCriterion("username <", value, "username");
              return (Criteria) this;
          }
  
          public Criteria andUsernameLessThanOrEqualTo(String value) {
              addCriterion("username <=", value, "username");
              return (Criteria) this;
          }
  
          public Criteria andUsernameLike(String value) {
              addCriterion("username like", value, "username");
              return (Criteria) this;
          }
  
          public Criteria andUsernameNotLike(String value) {
              addCriterion("username not like", value, "username");
              return (Criteria) this;
          }
  
          public Criteria andUsernameIn(List<String> values) {
              addCriterion("username in", values, "username");
              return (Criteria) this;
          }
  
          public Criteria andUsernameNotIn(List<String> values) {
              addCriterion("username not in", values, "username");
              return (Criteria) this;
          }
  
          public Criteria andUsernameBetween(String value1, String value2) {
              addCriterion("username between", value1, value2, "username");
              return (Criteria) this;
          }
  
          public Criteria andUsernameNotBetween(String value1, String value2) {
              addCriterion("username not between", value1, value2, "username");
              return (Criteria) this;
          }
  
          public Criteria andStartTimeIsNull() {
              addCriterion("start_time is null");
              return (Criteria) this;
          }
  
          public Criteria andStartTimeIsNotNull() {
              addCriterion("start_time is not null");
              return (Criteria) this;
          }
  
          public Criteria andStartTimeEqualTo(Long value) {
              addCriterion("start_time =", value, "startTime");
              return (Criteria) this;
          }
  
          public Criteria andStartTimeNotEqualTo(Long value) {
              addCriterion("start_time <>", value, "startTime");
              return (Criteria) this;
          }
  
          public Criteria andStartTimeGreaterThan(Long value) {
              addCriterion("start_time >", value, "startTime");
              return (Criteria) this;
          }
  
          public Criteria andStartTimeGreaterThanOrEqualTo(Long value) {
              addCriterion("start_time >=", value, "startTime");
              return (Criteria) this;
          }
  
          public Criteria andStartTimeLessThan(Long value) {
              addCriterion("start_time <", value, "startTime");
              return (Criteria) this;
          }
  
          public Criteria andStartTimeLessThanOrEqualTo(Long value) {
              addCriterion("start_time <=", value, "startTime");
              return (Criteria) this;
          }
  
          public Criteria andStartTimeIn(List<Long> values) {
              addCriterion("start_time in", values, "startTime");
              return (Criteria) this;
          }
  
          public Criteria andStartTimeNotIn(List<Long> values) {
              addCriterion("start_time not in", values, "startTime");
              return (Criteria) this;
          }
  
          public Criteria andStartTimeBetween(Long value1, Long value2) {
              addCriterion("start_time between", value1, value2, "startTime");
              return (Criteria) this;
          }
  
          public Criteria andStartTimeNotBetween(Long value1, Long value2) {
              addCriterion("start_time not between", value1, value2, "startTime");
              return (Criteria) this;
          }
  
          public Criteria andSpendTimeIsNull() {
              addCriterion("spend_time is null");
              return (Criteria) this;
          }
  
          public Criteria andSpendTimeIsNotNull() {
              addCriterion("spend_time is not null");
              return (Criteria) this;
          }
  
          public Criteria andSpendTimeEqualTo(Integer value) {
              addCriterion("spend_time =", value, "spendTime");
              return (Criteria) this;
          }
  
          public Criteria andSpendTimeNotEqualTo(Integer value) {
              addCriterion("spend_time <>", value, "spendTime");
              return (Criteria) this;
          }
  
          public Criteria andSpendTimeGreaterThan(Integer value) {
              addCriterion("spend_time >", value, "spendTime");
              return (Criteria) this;
          }
  
          public Criteria andSpendTimeGreaterThanOrEqualTo(Integer value) {
              addCriterion("spend_time >=", value, "spendTime");
              return (Criteria) this;
          }
  
          public Criteria andSpendTimeLessThan(Integer value) {
              addCriterion("spend_time <", value, "spendTime");
              return (Criteria) this;
          }
  
          public Criteria andSpendTimeLessThanOrEqualTo(Integer value) {
              addCriterion("spend_time <=", value, "spendTime");
              return (Criteria) this;
          }
  
          public Criteria andSpendTimeIn(List<Integer> values) {
              addCriterion("spend_time in", values, "spendTime");
              return (Criteria) this;
          }
  
          public Criteria andSpendTimeNotIn(List<Integer> values) {
              addCriterion("spend_time not in", values, "spendTime");
              return (Criteria) this;
          }
  
          public Criteria andSpendTimeBetween(Integer value1, Integer value2) {
              addCriterion("spend_time between", value1, value2, "spendTime");
              return (Criteria) this;
          }
  
          public Criteria andSpendTimeNotBetween(Integer value1, Integer value2) {
              addCriterion("spend_time not between", value1, value2, "spendTime");
              return (Criteria) this;
          }
  
          public Criteria andBasePathIsNull() {
              addCriterion("base_path is null");
              return (Criteria) this;
          }
  
          public Criteria andBasePathIsNotNull() {
              addCriterion("base_path is not null");
              return (Criteria) this;
          }
  
          public Criteria andBasePathEqualTo(String value) {
              addCriterion("base_path =", value, "basePath");
              return (Criteria) this;
          }
  
          public Criteria andBasePathNotEqualTo(String value) {
              addCriterion("base_path <>", value, "basePath");
              return (Criteria) this;
          }
  
          public Criteria andBasePathGreaterThan(String value) {
              addCriterion("base_path >", value, "basePath");
              return (Criteria) this;
          }
  
          public Criteria andBasePathGreaterThanOrEqualTo(String value) {
              addCriterion("base_path >=", value, "basePath");
              return (Criteria) this;
          }
  
          public Criteria andBasePathLessThan(String value) {
              addCriterion("base_path <", value, "basePath");
              return (Criteria) this;
          }
  
          public Criteria andBasePathLessThanOrEqualTo(String value) {
              addCriterion("base_path <=", value, "basePath");
              return (Criteria) this;
          }
  
          public Criteria andBasePathLike(String value) {
              addCriterion("base_path like", value, "basePath");
              return (Criteria) this;
          }
  
          public Criteria andBasePathNotLike(String value) {
              addCriterion("base_path not like", value, "basePath");
              return (Criteria) this;
          }
  
          public Criteria andBasePathIn(List<String> values) {
              addCriterion("base_path in", values, "basePath");
              return (Criteria) this;
          }
  
          public Criteria andBasePathNotIn(List<String> values) {
              addCriterion("base_path not in", values, "basePath");
              return (Criteria) this;
          }
  
          public Criteria andBasePathBetween(String value1, String value2) {
              addCriterion("base_path between", value1, value2, "basePath");
              return (Criteria) this;
          }
  
          public Criteria andBasePathNotBetween(String value1, String value2) {
              addCriterion("base_path not between", value1, value2, "basePath");
              return (Criteria) this;
          }
  
          public Criteria andUriIsNull() {
              addCriterion("uri is null");
              return (Criteria) this;
          }
  
          public Criteria andUriIsNotNull() {
              addCriterion("uri is not null");
              return (Criteria) this;
          }
  
          public Criteria andUriEqualTo(String value) {
              addCriterion("uri =", value, "uri");
              return (Criteria) this;
          }
  
          public Criteria andUriNotEqualTo(String value) {
              addCriterion("uri <>", value, "uri");
              return (Criteria) this;
          }
  
          public Criteria andUriGreaterThan(String value) {
              addCriterion("uri >", value, "uri");
              return (Criteria) this;
          }
  
          public Criteria andUriGreaterThanOrEqualTo(String value) {
              addCriterion("uri >=", value, "uri");
              return (Criteria) this;
          }
  
          public Criteria andUriLessThan(String value) {
              addCriterion("uri <", value, "uri");
              return (Criteria) this;
          }
  
          public Criteria andUriLessThanOrEqualTo(String value) {
              addCriterion("uri <=", value, "uri");
              return (Criteria) this;
          }
  
          public Criteria andUriLike(String value) {
              addCriterion("uri like", value, "uri");
              return (Criteria) this;
          }
  
          public Criteria andUriNotLike(String value) {
              addCriterion("uri not like", value, "uri");
              return (Criteria) this;
          }
  
          public Criteria andUriIn(List<String> values) {
              addCriterion("uri in", values, "uri");
              return (Criteria) this;
          }
  
          public Criteria andUriNotIn(List<String> values) {
              addCriterion("uri not in", values, "uri");
              return (Criteria) this;
          }
  
          public Criteria andUriBetween(String value1, String value2) {
              addCriterion("uri between", value1, value2, "uri");
              return (Criteria) this;
          }
  
          public Criteria andUriNotBetween(String value1, String value2) {
              addCriterion("uri not between", value1, value2, "uri");
              return (Criteria) this;
          }
  
          public Criteria andUrlIsNull() {
              addCriterion("url is null");
              return (Criteria) this;
          }
  
          public Criteria andUrlIsNotNull() {
              addCriterion("url is not null");
              return (Criteria) this;
          }
  
          public Criteria andUrlEqualTo(String value) {
              addCriterion("url =", value, "url");
              return (Criteria) this;
          }
  
          public Criteria andUrlNotEqualTo(String value) {
              addCriterion("url <>", value, "url");
              return (Criteria) this;
          }
  
          public Criteria andUrlGreaterThan(String value) {
              addCriterion("url >", value, "url");
              return (Criteria) this;
          }
  
          public Criteria andUrlGreaterThanOrEqualTo(String value) {
              addCriterion("url >=", value, "url");
              return (Criteria) this;
          }
  
          public Criteria andUrlLessThan(String value) {
              addCriterion("url <", value, "url");
              return (Criteria) this;
          }
  
          public Criteria andUrlLessThanOrEqualTo(String value) {
              addCriterion("url <=", value, "url");
              return (Criteria) this;
          }
  
          public Criteria andUrlLike(String value) {
              addCriterion("url like", value, "url");
              return (Criteria) this;
          }
  
          public Criteria andUrlNotLike(String value) {
              addCriterion("url not like", value, "url");
              return (Criteria) this;
          }
  
          public Criteria andUrlIn(List<String> values) {
              addCriterion("url in", values, "url");
              return (Criteria) this;
          }
  
          public Criteria andUrlNotIn(List<String> values) {
              addCriterion("url not in", values, "url");
              return (Criteria) this;
          }
  
          public Criteria andUrlBetween(String value1, String value2) {
              addCriterion("url between", value1, value2, "url");
              return (Criteria) this;
          }
  
          public Criteria andUrlNotBetween(String value1, String value2) {
              addCriterion("url not between", value1, value2, "url");
              return (Criteria) this;
          }
  
          public Criteria andMethodIsNull() {
              addCriterion("method is null");
              return (Criteria) this;
          }
  
          public Criteria andMethodIsNotNull() {
              addCriterion("method is not null");
              return (Criteria) this;
          }
  
          public Criteria andMethodEqualTo(String value) {
              addCriterion("method =", value, "method");
              return (Criteria) this;
          }
  
          public Criteria andMethodNotEqualTo(String value) {
              addCriterion("method <>", value, "method");
              return (Criteria) this;
          }
  
          public Criteria andMethodGreaterThan(String value) {
              addCriterion("method >", value, "method");
              return (Criteria) this;
          }
  
          public Criteria andMethodGreaterThanOrEqualTo(String value) {
              addCriterion("method >=", value, "method");
              return (Criteria) this;
          }
  
          public Criteria andMethodLessThan(String value) {
              addCriterion("method <", value, "method");
              return (Criteria) this;
          }
  
          public Criteria andMethodLessThanOrEqualTo(String value) {
              addCriterion("method <=", value, "method");
              return (Criteria) this;
          }
  
          public Criteria andMethodLike(String value) {
              addCriterion("method like", value, "method");
              return (Criteria) this;
          }
  
          public Criteria andMethodNotLike(String value) {
              addCriterion("method not like", value, "method");
              return (Criteria) this;
          }
  
          public Criteria andMethodIn(List<String> values) {
              addCriterion("method in", values, "method");
              return (Criteria) this;
          }
  
          public Criteria andMethodNotIn(List<String> values) {
              addCriterion("method not in", values, "method");
              return (Criteria) this;
          }
  
          public Criteria andMethodBetween(String value1, String value2) {
              addCriterion("method between", value1, value2, "method");
              return (Criteria) this;
          }
  
          public Criteria andMethodNotBetween(String value1, String value2) {
              addCriterion("method not between", value1, value2, "method");
              return (Criteria) this;
          }
  
          public Criteria andUserAgentIsNull() {
              addCriterion("user_agent is null");
              return (Criteria) this;
          }
  
          public Criteria andUserAgentIsNotNull() {
              addCriterion("user_agent is not null");
              return (Criteria) this;
          }
  
          public Criteria andUserAgentEqualTo(String value) {
              addCriterion("user_agent =", value, "userAgent");
              return (Criteria) this;
          }
  
          public Criteria andUserAgentNotEqualTo(String value) {
              addCriterion("user_agent <>", value, "userAgent");
              return (Criteria) this;
          }
  
          public Criteria andUserAgentGreaterThan(String value) {
              addCriterion("user_agent >", value, "userAgent");
              return (Criteria) this;
          }
  
          public Criteria andUserAgentGreaterThanOrEqualTo(String value) {
              addCriterion("user_agent >=", value, "userAgent");
              return (Criteria) this;
          }
  
          public Criteria andUserAgentLessThan(String value) {
              addCriterion("user_agent <", value, "userAgent");
              return (Criteria) this;
          }
  
          public Criteria andUserAgentLessThanOrEqualTo(String value) {
              addCriterion("user_agent <=", value, "userAgent");
              return (Criteria) this;
          }
  
          public Criteria andUserAgentLike(String value) {
              addCriterion("user_agent like", value, "userAgent");
              return (Criteria) this;
          }
  
          public Criteria andUserAgentNotLike(String value) {
              addCriterion("user_agent not like", value, "userAgent");
              return (Criteria) this;
          }
  
          public Criteria andUserAgentIn(List<String> values) {
              addCriterion("user_agent in", values, "userAgent");
              return (Criteria) this;
          }
  
          public Criteria andUserAgentNotIn(List<String> values) {
              addCriterion("user_agent not in", values, "userAgent");
              return (Criteria) this;
          }
  
          public Criteria andUserAgentBetween(String value1, String value2) {
              addCriterion("user_agent between", value1, value2, "userAgent");
              return (Criteria) this;
          }
  
          public Criteria andUserAgentNotBetween(String value1, String value2) {
              addCriterion("user_agent not between", value1, value2, "userAgent");
              return (Criteria) this;
          }
  
          public Criteria andIpIsNull() {
              addCriterion("ip is null");
              return (Criteria) this;
          }
  
          public Criteria andIpIsNotNull() {
              addCriterion("ip is not null");
              return (Criteria) this;
          }
  
          public Criteria andIpEqualTo(String value) {
              addCriterion("ip =", value, "ip");
              return (Criteria) this;
          }
  
          public Criteria andIpNotEqualTo(String value) {
              addCriterion("ip <>", value, "ip");
              return (Criteria) this;
          }
  
          public Criteria andIpGreaterThan(String value) {
              addCriterion("ip >", value, "ip");
              return (Criteria) this;
          }
  
          public Criteria andIpGreaterThanOrEqualTo(String value) {
              addCriterion("ip >=", value, "ip");
              return (Criteria) this;
          }
  
          public Criteria andIpLessThan(String value) {
              addCriterion("ip <", value, "ip");
              return (Criteria) this;
          }
  
          public Criteria andIpLessThanOrEqualTo(String value) {
              addCriterion("ip <=", value, "ip");
              return (Criteria) this;
          }
  
          public Criteria andIpLike(String value) {
              addCriterion("ip like", value, "ip");
              return (Criteria) this;
          }
  
          public Criteria andIpNotLike(String value) {
              addCriterion("ip not like", value, "ip");
              return (Criteria) this;
          }
  
          public Criteria andIpIn(List<String> values) {
              addCriterion("ip in", values, "ip");
              return (Criteria) this;
          }
  
          public Criteria andIpNotIn(List<String> values) {
              addCriterion("ip not in", values, "ip");
              return (Criteria) this;
          }
  
          public Criteria andIpBetween(String value1, String value2) {
              addCriterion("ip between", value1, value2, "ip");
              return (Criteria) this;
          }
  
          public Criteria andIpNotBetween(String value1, String value2) {
              addCriterion("ip not between", value1, value2, "ip");
              return (Criteria) this;
          }
  
          public Criteria andPermissionsIsNull() {
              addCriterion("permissions is null");
              return (Criteria) this;
          }
  
          public Criteria andPermissionsIsNotNull() {
              addCriterion("permissions is not null");
              return (Criteria) this;
          }
  
          public Criteria andPermissionsEqualTo(String value) {
              addCriterion("permissions =", value, "permissions");
              return (Criteria) this;
          }
  
          public Criteria andPermissionsNotEqualTo(String value) {
              addCriterion("permissions <>", value, "permissions");
              return (Criteria) this;
          }
  
          public Criteria andPermissionsGreaterThan(String value) {
              addCriterion("permissions >", value, "permissions");
              return (Criteria) this;
          }
  
          public Criteria andPermissionsGreaterThanOrEqualTo(String value) {
              addCriterion("permissions >=", value, "permissions");
              return (Criteria) this;
          }
  
          public Criteria andPermissionsLessThan(String value) {
              addCriterion("permissions <", value, "permissions");
              return (Criteria) this;
          }
  
          public Criteria andPermissionsLessThanOrEqualTo(String value) {
              addCriterion("permissions <=", value, "permissions");
              return (Criteria) this;
          }
  
          public Criteria andPermissionsLike(String value) {
              addCriterion("permissions like", value, "permissions");
              return (Criteria) this;
          }
  
          public Criteria andPermissionsNotLike(String value) {
              addCriterion("permissions not like", value, "permissions");
              return (Criteria) this;
          }
  
          public Criteria andPermissionsIn(List<String> values) {
              addCriterion("permissions in", values, "permissions");
              return (Criteria) this;
          }
  
          public Criteria andPermissionsNotIn(List<String> values) {
              addCriterion("permissions not in", values, "permissions");
              return (Criteria) this;
          }
  
          public Criteria andPermissionsBetween(String value1, String value2) {
              addCriterion("permissions between", value1, value2, "permissions");
              return (Criteria) this;
          }
  
          public Criteria andPermissionsNotBetween(String value1, String value2) {
              addCriterion("permissions not between", value1, value2, "permissions");
              return (Criteria) this;
          }
      }
  
      public static class Criteria extends GeneratedCriteria implements Serializable {
  
          protected Criteria() {
              super();
          }
      }
  
      public static class Criterion implements Serializable {
          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);
          }
      }
  }