package com.ruoyi.system.domain.md;

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

public class NewmsgInboxExample implements Serializable {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private static final long serialVersionUID = 1L;

    public NewmsgInboxExample() {
        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 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 andOrginidIsNull() {
            addCriterion("orginId is null");
            return (Criteria) this;
        }

        public Criteria andOrginidIsNotNull() {
            addCriterion("orginId is not null");
            return (Criteria) this;
        }

        public Criteria andOrginidEqualTo(String value) {
            addCriterion("orginId =", value, "orginid");
            return (Criteria) this;
        }

        public Criteria andOrginidNotEqualTo(String value) {
            addCriterion("orginId <>", value, "orginid");
            return (Criteria) this;
        }

        public Criteria andOrginidGreaterThan(String value) {
            addCriterion("orginId >", value, "orginid");
            return (Criteria) this;
        }

        public Criteria andOrginidGreaterThanOrEqualTo(String value) {
            addCriterion("orginId >=", value, "orginid");
            return (Criteria) this;
        }

        public Criteria andOrginidLessThan(String value) {
            addCriterion("orginId <", value, "orginid");
            return (Criteria) this;
        }

        public Criteria andOrginidLessThanOrEqualTo(String value) {
            addCriterion("orginId <=", value, "orginid");
            return (Criteria) this;
        }

        public Criteria andOrginidLike(String value) {
            addCriterion("orginId like", value, "orginid");
            return (Criteria) this;
        }

        public Criteria andOrginidNotLike(String value) {
            addCriterion("orginId not like", value, "orginid");
            return (Criteria) this;
        }

        public Criteria andOrginidIn(List<String> values) {
            addCriterion("orginId in", values, "orginid");
            return (Criteria) this;
        }

        public Criteria andOrginidNotIn(List<String> values) {
            addCriterion("orginId not in", values, "orginid");
            return (Criteria) this;
        }

        public Criteria andOrginidBetween(String value1, String value2) {
            addCriterion("orginId between", value1, value2, "orginid");
            return (Criteria) this;
        }

        public Criteria andOrginidNotBetween(String value1, String value2) {
            addCriterion("orginId not between", value1, value2, "orginid");
            return (Criteria) this;
        }

        public Criteria andOutboxidIsNull() {
            addCriterion("outboxId is null");
            return (Criteria) this;
        }

        public Criteria andOutboxidIsNotNull() {
            addCriterion("outboxId is not null");
            return (Criteria) this;
        }

        public Criteria andOutboxidEqualTo(String value) {
            addCriterion("outboxId =", value, "outboxid");
            return (Criteria) this;
        }

        public Criteria andOutboxidNotEqualTo(String value) {
            addCriterion("outboxId <>", value, "outboxid");
            return (Criteria) this;
        }

        public Criteria andOutboxidGreaterThan(String value) {
            addCriterion("outboxId >", value, "outboxid");
            return (Criteria) this;
        }

        public Criteria andOutboxidGreaterThanOrEqualTo(String value) {
            addCriterion("outboxId >=", value, "outboxid");
            return (Criteria) this;
        }

        public Criteria andOutboxidLessThan(String value) {
            addCriterion("outboxId <", value, "outboxid");
            return (Criteria) this;
        }

        public Criteria andOutboxidLessThanOrEqualTo(String value) {
            addCriterion("outboxId <=", value, "outboxid");
            return (Criteria) this;
        }

        public Criteria andOutboxidLike(String value) {
            addCriterion("outboxId like", value, "outboxid");
            return (Criteria) this;
        }

        public Criteria andOutboxidNotLike(String value) {
            addCriterion("outboxId not like", value, "outboxid");
            return (Criteria) this;
        }

        public Criteria andOutboxidIn(List<String> values) {
            addCriterion("outboxId in", values, "outboxid");
            return (Criteria) this;
        }

        public Criteria andOutboxidNotIn(List<String> values) {
            addCriterion("outboxId not in", values, "outboxid");
            return (Criteria) this;
        }

        public Criteria andOutboxidBetween(String value1, String value2) {
            addCriterion("outboxId between", value1, value2, "outboxid");
            return (Criteria) this;
        }

        public Criteria andOutboxidNotBetween(String value1, String value2) {
            addCriterion("outboxId not between", value1, value2, "outboxid");
            return (Criteria) this;
        }

        public Criteria andAppidIsNull() {
            addCriterion("appId is null");
            return (Criteria) this;
        }

        public Criteria andAppidIsNotNull() {
            addCriterion("appId is not null");
            return (Criteria) this;
        }

        public Criteria andAppidEqualTo(String value) {
            addCriterion("appId =", value, "appid");
            return (Criteria) this;
        }

        public Criteria andAppidNotEqualTo(String value) {
            addCriterion("appId <>", value, "appid");
            return (Criteria) this;
        }

        public Criteria andAppidGreaterThan(String value) {
            addCriterion("appId >", value, "appid");
            return (Criteria) this;
        }

        public Criteria andAppidGreaterThanOrEqualTo(String value) {
            addCriterion("appId >=", value, "appid");
            return (Criteria) this;
        }

        public Criteria andAppidLessThan(String value) {
            addCriterion("appId <", value, "appid");
            return (Criteria) this;
        }

        public Criteria andAppidLessThanOrEqualTo(String value) {
            addCriterion("appId <=", value, "appid");
            return (Criteria) this;
        }

        public Criteria andAppidLike(String value) {
            addCriterion("appId like", value, "appid");
            return (Criteria) this;
        }

        public Criteria andAppidNotLike(String value) {
            addCriterion("appId not like", value, "appid");
            return (Criteria) this;
        }

        public Criteria andAppidIn(List<String> values) {
            addCriterion("appId in", values, "appid");
            return (Criteria) this;
        }

        public Criteria andAppidNotIn(List<String> values) {
            addCriterion("appId not in", values, "appid");
            return (Criteria) this;
        }

        public Criteria andAppidBetween(String value1, String value2) {
            addCriterion("appId between", value1, value2, "appid");
            return (Criteria) this;
        }

        public Criteria andAppidNotBetween(String value1, String value2) {
            addCriterion("appId not between", value1, value2, "appid");
            return (Criteria) this;
        }

        public Criteria andAppnameIsNull() {
            addCriterion("appName is null");
            return (Criteria) this;
        }

        public Criteria andAppnameIsNotNull() {
            addCriterion("appName is not null");
            return (Criteria) this;
        }

        public Criteria andAppnameEqualTo(String value) {
            addCriterion("appName =", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameNotEqualTo(String value) {
            addCriterion("appName <>", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameGreaterThan(String value) {
            addCriterion("appName >", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameGreaterThanOrEqualTo(String value) {
            addCriterion("appName >=", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameLessThan(String value) {
            addCriterion("appName <", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameLessThanOrEqualTo(String value) {
            addCriterion("appName <=", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameLike(String value) {
            addCriterion("appName like", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameNotLike(String value) {
            addCriterion("appName not like", value, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameIn(List<String> values) {
            addCriterion("appName in", values, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameNotIn(List<String> values) {
            addCriterion("appName not in", values, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameBetween(String value1, String value2) {
            addCriterion("appName between", value1, value2, "appname");
            return (Criteria) this;
        }

        public Criteria andAppnameNotBetween(String value1, String value2) {
            addCriterion("appName not between", value1, value2, "appname");
            return (Criteria) this;
        }

        public Criteria andMsgtypeIsNull() {
            addCriterion("msgType is null");
            return (Criteria) this;
        }

        public Criteria andMsgtypeIsNotNull() {
            addCriterion("msgType is not null");
            return (Criteria) this;
        }

        public Criteria andMsgtypeEqualTo(Byte value) {
            addCriterion("msgType =", value, "msgtype");
            return (Criteria) this;
        }

        public Criteria andMsgtypeNotEqualTo(Byte value) {
            addCriterion("msgType <>", value, "msgtype");
            return (Criteria) this;
        }

        public Criteria andMsgtypeGreaterThan(Byte value) {
            addCriterion("msgType >", value, "msgtype");
            return (Criteria) this;
        }

        public Criteria andMsgtypeGreaterThanOrEqualTo(Byte value) {
            addCriterion("msgType >=", value, "msgtype");
            return (Criteria) this;
        }

        public Criteria andMsgtypeLessThan(Byte value) {
            addCriterion("msgType <", value, "msgtype");
            return (Criteria) this;
        }

        public Criteria andMsgtypeLessThanOrEqualTo(Byte value) {
            addCriterion("msgType <=", value, "msgtype");
            return (Criteria) this;
        }

        public Criteria andMsgtypeIn(List<Byte> values) {
            addCriterion("msgType in", values, "msgtype");
            return (Criteria) this;
        }

        public Criteria andMsgtypeNotIn(List<Byte> values) {
            addCriterion("msgType not in", values, "msgtype");
            return (Criteria) this;
        }

        public Criteria andMsgtypeBetween(Byte value1, Byte value2) {
            addCriterion("msgType between", value1, value2, "msgtype");
            return (Criteria) this;
        }

        public Criteria andMsgtypeNotBetween(Byte value1, Byte value2) {
            addCriterion("msgType not between", value1, value2, "msgtype");
            return (Criteria) this;
        }

        public Criteria andUseridIsNull() {
            addCriterion("userId is null");
            return (Criteria) this;
        }

        public Criteria andUseridIsNotNull() {
            addCriterion("userId is not null");
            return (Criteria) this;
        }

        public Criteria andUseridEqualTo(String value) {
            addCriterion("userId =", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotEqualTo(String value) {
            addCriterion("userId <>", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThan(String value) {
            addCriterion("userId >", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridGreaterThanOrEqualTo(String value) {
            addCriterion("userId >=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThan(String value) {
            addCriterion("userId <", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLessThanOrEqualTo(String value) {
            addCriterion("userId <=", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridLike(String value) {
            addCriterion("userId like", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotLike(String value) {
            addCriterion("userId not like", value, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridIn(List<String> values) {
            addCriterion("userId in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotIn(List<String> values) {
            addCriterion("userId not in", values, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridBetween(String value1, String value2) {
            addCriterion("userId between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andUseridNotBetween(String value1, String value2) {
            addCriterion("userId not between", value1, value2, "userid");
            return (Criteria) this;
        }

        public Criteria andUsertypeIsNull() {
            addCriterion("userType is null");
            return (Criteria) this;
        }

        public Criteria andUsertypeIsNotNull() {
            addCriterion("userType is not null");
            return (Criteria) this;
        }

        public Criteria andUsertypeEqualTo(Byte value) {
            addCriterion("userType =", value, "usertype");
            return (Criteria) this;
        }

        public Criteria andUsertypeNotEqualTo(Byte value) {
            addCriterion("userType <>", value, "usertype");
            return (Criteria) this;
        }

        public Criteria andUsertypeGreaterThan(Byte value) {
            addCriterion("userType >", value, "usertype");
            return (Criteria) this;
        }

        public Criteria andUsertypeGreaterThanOrEqualTo(Byte value) {
            addCriterion("userType >=", value, "usertype");
            return (Criteria) this;
        }

        public Criteria andUsertypeLessThan(Byte value) {
            addCriterion("userType <", value, "usertype");
            return (Criteria) this;
        }

        public Criteria andUsertypeLessThanOrEqualTo(Byte value) {
            addCriterion("userType <=", value, "usertype");
            return (Criteria) this;
        }

        public Criteria andUsertypeIn(List<Byte> values) {
            addCriterion("userType in", values, "usertype");
            return (Criteria) this;
        }

        public Criteria andUsertypeNotIn(List<Byte> values) {
            addCriterion("userType not in", values, "usertype");
            return (Criteria) this;
        }

        public Criteria andUsertypeBetween(Byte value1, Byte value2) {
            addCriterion("userType between", value1, value2, "usertype");
            return (Criteria) this;
        }

        public Criteria andUsertypeNotBetween(Byte value1, Byte value2) {
            addCriterion("userType not between", value1, value2, "usertype");
            return (Criteria) this;
        }

        public Criteria andOrgidIsNull() {
            addCriterion("orgId is null");
            return (Criteria) this;
        }

        public Criteria andOrgidIsNotNull() {
            addCriterion("orgId is not null");
            return (Criteria) this;
        }

        public Criteria andOrgidEqualTo(String value) {
            addCriterion("orgId =", value, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidNotEqualTo(String value) {
            addCriterion("orgId <>", value, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidGreaterThan(String value) {
            addCriterion("orgId >", value, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidGreaterThanOrEqualTo(String value) {
            addCriterion("orgId >=", value, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidLessThan(String value) {
            addCriterion("orgId <", value, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidLessThanOrEqualTo(String value) {
            addCriterion("orgId <=", value, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidLike(String value) {
            addCriterion("orgId like", value, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidNotLike(String value) {
            addCriterion("orgId not like", value, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidIn(List<String> values) {
            addCriterion("orgId in", values, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidNotIn(List<String> values) {
            addCriterion("orgId not in", values, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidBetween(String value1, String value2) {
            addCriterion("orgId between", value1, value2, "orgid");
            return (Criteria) this;
        }

        public Criteria andOrgidNotBetween(String value1, String value2) {
            addCriterion("orgId not between", value1, value2, "orgid");
            return (Criteria) this;
        }

        public Criteria andDeptidIsNull() {
            addCriterion("deptId is null");
            return (Criteria) this;
        }

        public Criteria andDeptidIsNotNull() {
            addCriterion("deptId is not null");
            return (Criteria) this;
        }

        public Criteria andDeptidEqualTo(String value) {
            addCriterion("deptId =", value, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidNotEqualTo(String value) {
            addCriterion("deptId <>", value, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidGreaterThan(String value) {
            addCriterion("deptId >", value, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidGreaterThanOrEqualTo(String value) {
            addCriterion("deptId >=", value, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidLessThan(String value) {
            addCriterion("deptId <", value, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidLessThanOrEqualTo(String value) {
            addCriterion("deptId <=", value, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidLike(String value) {
            addCriterion("deptId like", value, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidNotLike(String value) {
            addCriterion("deptId not like", value, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidIn(List<String> values) {
            addCriterion("deptId in", values, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidNotIn(List<String> values) {
            addCriterion("deptId not in", values, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidBetween(String value1, String value2) {
            addCriterion("deptId between", value1, value2, "deptid");
            return (Criteria) this;
        }

        public Criteria andDeptidNotBetween(String value1, String value2) {
            addCriterion("deptId not between", value1, value2, "deptid");
            return (Criteria) this;
        }

        public Criteria andFromUseridIsNull() {
            addCriterion("from_userId is null");
            return (Criteria) this;
        }

        public Criteria andFromUseridIsNotNull() {
            addCriterion("from_userId is not null");
            return (Criteria) this;
        }

        public Criteria andFromUseridEqualTo(String value) {
            addCriterion("from_userId =", value, "fromUserid");
            return (Criteria) this;
        }

        public Criteria andFromUseridNotEqualTo(String value) {
            addCriterion("from_userId <>", value, "fromUserid");
            return (Criteria) this;
        }

        public Criteria andFromUseridGreaterThan(String value) {
            addCriterion("from_userId >", value, "fromUserid");
            return (Criteria) this;
        }

        public Criteria andFromUseridGreaterThanOrEqualTo(String value) {
            addCriterion("from_userId >=", value, "fromUserid");
            return (Criteria) this;
        }

        public Criteria andFromUseridLessThan(String value) {
            addCriterion("from_userId <", value, "fromUserid");
            return (Criteria) this;
        }

        public Criteria andFromUseridLessThanOrEqualTo(String value) {
            addCriterion("from_userId <=", value, "fromUserid");
            return (Criteria) this;
        }

        public Criteria andFromUseridLike(String value) {
            addCriterion("from_userId like", value, "fromUserid");
            return (Criteria) this;
        }

        public Criteria andFromUseridNotLike(String value) {
            addCriterion("from_userId not like", value, "fromUserid");
            return (Criteria) this;
        }

        public Criteria andFromUseridIn(List<String> values) {
            addCriterion("from_userId in", values, "fromUserid");
            return (Criteria) this;
        }

        public Criteria andFromUseridNotIn(List<String> values) {
            addCriterion("from_userId not in", values, "fromUserid");
            return (Criteria) this;
        }

        public Criteria andFromUseridBetween(String value1, String value2) {
            addCriterion("from_userId between", value1, value2, "fromUserid");
            return (Criteria) this;
        }

        public Criteria andFromUseridNotBetween(String value1, String value2) {
            addCriterion("from_userId not between", value1, value2, "fromUserid");
            return (Criteria) this;
        }

        public Criteria andFromUsertypeIsNull() {
            addCriterion("from_userType is null");
            return (Criteria) this;
        }

        public Criteria andFromUsertypeIsNotNull() {
            addCriterion("from_userType is not null");
            return (Criteria) this;
        }

        public Criteria andFromUsertypeEqualTo(Byte value) {
            addCriterion("from_userType =", value, "fromUsertype");
            return (Criteria) this;
        }

        public Criteria andFromUsertypeNotEqualTo(Byte value) {
            addCriterion("from_userType <>", value, "fromUsertype");
            return (Criteria) this;
        }

        public Criteria andFromUsertypeGreaterThan(Byte value) {
            addCriterion("from_userType >", value, "fromUsertype");
            return (Criteria) this;
        }

        public Criteria andFromUsertypeGreaterThanOrEqualTo(Byte value) {
            addCriterion("from_userType >=", value, "fromUsertype");
            return (Criteria) this;
        }

        public Criteria andFromUsertypeLessThan(Byte value) {
            addCriterion("from_userType <", value, "fromUsertype");
            return (Criteria) this;
        }

        public Criteria andFromUsertypeLessThanOrEqualTo(Byte value) {
            addCriterion("from_userType <=", value, "fromUsertype");
            return (Criteria) this;
        }

        public Criteria andFromUsertypeIn(List<Byte> values) {
            addCriterion("from_userType in", values, "fromUsertype");
            return (Criteria) this;
        }

        public Criteria andFromUsertypeNotIn(List<Byte> values) {
            addCriterion("from_userType not in", values, "fromUsertype");
            return (Criteria) this;
        }

        public Criteria andFromUsertypeBetween(Byte value1, Byte value2) {
            addCriterion("from_userType between", value1, value2, "fromUsertype");
            return (Criteria) this;
        }

        public Criteria andFromUsertypeNotBetween(Byte value1, Byte value2) {
            addCriterion("from_userType not between", value1, value2, "fromUsertype");
            return (Criteria) this;
        }

        public Criteria andFromOrgidIsNull() {
            addCriterion("from_orgId is null");
            return (Criteria) this;
        }

        public Criteria andFromOrgidIsNotNull() {
            addCriterion("from_orgId is not null");
            return (Criteria) this;
        }

        public Criteria andFromOrgidEqualTo(String value) {
            addCriterion("from_orgId =", value, "fromOrgid");
            return (Criteria) this;
        }

        public Criteria andFromOrgidNotEqualTo(String value) {
            addCriterion("from_orgId <>", value, "fromOrgid");
            return (Criteria) this;
        }

        public Criteria andFromOrgidGreaterThan(String value) {
            addCriterion("from_orgId >", value, "fromOrgid");
            return (Criteria) this;
        }

        public Criteria andFromOrgidGreaterThanOrEqualTo(String value) {
            addCriterion("from_orgId >=", value, "fromOrgid");
            return (Criteria) this;
        }

        public Criteria andFromOrgidLessThan(String value) {
            addCriterion("from_orgId <", value, "fromOrgid");
            return (Criteria) this;
        }

        public Criteria andFromOrgidLessThanOrEqualTo(String value) {
            addCriterion("from_orgId <=", value, "fromOrgid");
            return (Criteria) this;
        }

        public Criteria andFromOrgidLike(String value) {
            addCriterion("from_orgId like", value, "fromOrgid");
            return (Criteria) this;
        }

        public Criteria andFromOrgidNotLike(String value) {
            addCriterion("from_orgId not like", value, "fromOrgid");
            return (Criteria) this;
        }

        public Criteria andFromOrgidIn(List<String> values) {
            addCriterion("from_orgId in", values, "fromOrgid");
            return (Criteria) this;
        }

        public Criteria andFromOrgidNotIn(List<String> values) {
            addCriterion("from_orgId not in", values, "fromOrgid");
            return (Criteria) this;
        }

        public Criteria andFromOrgidBetween(String value1, String value2) {
            addCriterion("from_orgId between", value1, value2, "fromOrgid");
            return (Criteria) this;
        }

        public Criteria andFromOrgidNotBetween(String value1, String value2) {
            addCriterion("from_orgId not between", value1, value2, "fromOrgid");
            return (Criteria) this;
        }

        public Criteria andFromDeptidIsNull() {
            addCriterion("from_deptId is null");
            return (Criteria) this;
        }

        public Criteria andFromDeptidIsNotNull() {
            addCriterion("from_deptId is not null");
            return (Criteria) this;
        }

        public Criteria andFromDeptidEqualTo(String value) {
            addCriterion("from_deptId =", value, "fromDeptid");
            return (Criteria) this;
        }

        public Criteria andFromDeptidNotEqualTo(String value) {
            addCriterion("from_deptId <>", value, "fromDeptid");
            return (Criteria) this;
        }

        public Criteria andFromDeptidGreaterThan(String value) {
            addCriterion("from_deptId >", value, "fromDeptid");
            return (Criteria) this;
        }

        public Criteria andFromDeptidGreaterThanOrEqualTo(String value) {
            addCriterion("from_deptId >=", value, "fromDeptid");
            return (Criteria) this;
        }

        public Criteria andFromDeptidLessThan(String value) {
            addCriterion("from_deptId <", value, "fromDeptid");
            return (Criteria) this;
        }

        public Criteria andFromDeptidLessThanOrEqualTo(String value) {
            addCriterion("from_deptId <=", value, "fromDeptid");
            return (Criteria) this;
        }

        public Criteria andFromDeptidLike(String value) {
            addCriterion("from_deptId like", value, "fromDeptid");
            return (Criteria) this;
        }

        public Criteria andFromDeptidNotLike(String value) {
            addCriterion("from_deptId not like", value, "fromDeptid");
            return (Criteria) this;
        }

        public Criteria andFromDeptidIn(List<String> values) {
            addCriterion("from_deptId in", values, "fromDeptid");
            return (Criteria) this;
        }

        public Criteria andFromDeptidNotIn(List<String> values) {
            addCriterion("from_deptId not in", values, "fromDeptid");
            return (Criteria) this;
        }

        public Criteria andFromDeptidBetween(String value1, String value2) {
            addCriterion("from_deptId between", value1, value2, "fromDeptid");
            return (Criteria) this;
        }

        public Criteria andFromDeptidNotBetween(String value1, String value2) {
            addCriterion("from_deptId not between", value1, value2, "fromDeptid");
            return (Criteria) this;
        }

        public Criteria andNeedpushIsNull() {
            addCriterion("needPush is null");
            return (Criteria) this;
        }

        public Criteria andNeedpushIsNotNull() {
            addCriterion("needPush is not null");
            return (Criteria) this;
        }

        public Criteria andNeedpushEqualTo(Byte value) {
            addCriterion("needPush =", value, "needpush");
            return (Criteria) this;
        }

        public Criteria andNeedpushNotEqualTo(Byte value) {
            addCriterion("needPush <>", value, "needpush");
            return (Criteria) this;
        }

        public Criteria andNeedpushGreaterThan(Byte value) {
            addCriterion("needPush >", value, "needpush");
            return (Criteria) this;
        }

        public Criteria andNeedpushGreaterThanOrEqualTo(Byte value) {
            addCriterion("needPush >=", value, "needpush");
            return (Criteria) this;
        }

        public Criteria andNeedpushLessThan(Byte value) {
            addCriterion("needPush <", value, "needpush");
            return (Criteria) this;
        }

        public Criteria andNeedpushLessThanOrEqualTo(Byte value) {
            addCriterion("needPush <=", value, "needpush");
            return (Criteria) this;
        }

        public Criteria andNeedpushIn(List<Byte> values) {
            addCriterion("needPush in", values, "needpush");
            return (Criteria) this;
        }

        public Criteria andNeedpushNotIn(List<Byte> values) {
            addCriterion("needPush not in", values, "needpush");
            return (Criteria) this;
        }

        public Criteria andNeedpushBetween(Byte value1, Byte value2) {
            addCriterion("needPush between", value1, value2, "needpush");
            return (Criteria) this;
        }

        public Criteria andNeedpushNotBetween(Byte value1, Byte value2) {
            addCriterion("needPush not between", value1, value2, "needpush");
            return (Criteria) this;
        }

        public Criteria andStateIsNull() {
            addCriterion("state is null");
            return (Criteria) this;
        }

        public Criteria andStateIsNotNull() {
            addCriterion("state is not null");
            return (Criteria) this;
        }

        public Criteria andStateEqualTo(Byte value) {
            addCriterion("state =", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotEqualTo(Byte value) {
            addCriterion("state <>", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThan(Byte value) {
            addCriterion("state >", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateGreaterThanOrEqualTo(Byte value) {
            addCriterion("state >=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThan(Byte value) {
            addCriterion("state <", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateLessThanOrEqualTo(Byte value) {
            addCriterion("state <=", value, "state");
            return (Criteria) this;
        }

        public Criteria andStateIn(List<Byte> values) {
            addCriterion("state in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotIn(List<Byte> values) {
            addCriterion("state not in", values, "state");
            return (Criteria) this;
        }

        public Criteria andStateBetween(Byte value1, Byte value2) {
            addCriterion("state between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andStateNotBetween(Byte value1, Byte value2) {
            addCriterion("state not between", value1, value2, "state");
            return (Criteria) this;
        }

        public Criteria andUserreadIsNull() {
            addCriterion("userRead is null");
            return (Criteria) this;
        }

        public Criteria andUserreadIsNotNull() {
            addCriterion("userRead is not null");
            return (Criteria) this;
        }

        public Criteria andUserreadEqualTo(Byte value) {
            addCriterion("userRead =", value, "userread");
            return (Criteria) this;
        }

        public Criteria andUserreadNotEqualTo(Byte value) {
            addCriterion("userRead <>", value, "userread");
            return (Criteria) this;
        }

        public Criteria andUserreadGreaterThan(Byte value) {
            addCriterion("userRead >", value, "userread");
            return (Criteria) this;
        }

        public Criteria andUserreadGreaterThanOrEqualTo(Byte value) {
            addCriterion("userRead >=", value, "userread");
            return (Criteria) this;
        }

        public Criteria andUserreadLessThan(Byte value) {
            addCriterion("userRead <", value, "userread");
            return (Criteria) this;
        }

        public Criteria andUserreadLessThanOrEqualTo(Byte value) {
            addCriterion("userRead <=", value, "userread");
            return (Criteria) this;
        }

        public Criteria andUserreadIn(List<Byte> values) {
            addCriterion("userRead in", values, "userread");
            return (Criteria) this;
        }

        public Criteria andUserreadNotIn(List<Byte> values) {
            addCriterion("userRead not in", values, "userread");
            return (Criteria) this;
        }

        public Criteria andUserreadBetween(Byte value1, Byte value2) {
            addCriterion("userRead between", value1, value2, "userread");
            return (Criteria) this;
        }

        public Criteria andUserreadNotBetween(Byte value1, Byte value2) {
            addCriterion("userRead not between", value1, value2, "userread");
            return (Criteria) this;
        }

        public Criteria andReadtimeIsNull() {
            addCriterion("readTime is null");
            return (Criteria) this;
        }

        public Criteria andReadtimeIsNotNull() {
            addCriterion("readTime is not null");
            return (Criteria) this;
        }

        public Criteria andReadtimeEqualTo(Long value) {
            addCriterion("readTime =", value, "readtime");
            return (Criteria) this;
        }

        public Criteria andReadtimeNotEqualTo(Long value) {
            addCriterion("readTime <>", value, "readtime");
            return (Criteria) this;
        }

        public Criteria andReadtimeGreaterThan(Long value) {
            addCriterion("readTime >", value, "readtime");
            return (Criteria) this;
        }

        public Criteria andReadtimeGreaterThanOrEqualTo(Long value) {
            addCriterion("readTime >=", value, "readtime");
            return (Criteria) this;
        }

        public Criteria andReadtimeLessThan(Long value) {
            addCriterion("readTime <", value, "readtime");
            return (Criteria) this;
        }

        public Criteria andReadtimeLessThanOrEqualTo(Long value) {
            addCriterion("readTime <=", value, "readtime");
            return (Criteria) this;
        }

        public Criteria andReadtimeIn(List<Long> values) {
            addCriterion("readTime in", values, "readtime");
            return (Criteria) this;
        }

        public Criteria andReadtimeNotIn(List<Long> values) {
            addCriterion("readTime not in", values, "readtime");
            return (Criteria) this;
        }

        public Criteria andReadtimeBetween(Long value1, Long value2) {
            addCriterion("readTime between", value1, value2, "readtime");
            return (Criteria) this;
        }

        public Criteria andReadtimeNotBetween(Long value1, Long value2) {
            addCriterion("readTime not between", value1, value2, "readtime");
            return (Criteria) this;
        }

        public Criteria andUserreplyIsNull() {
            addCriterion("userReply is null");
            return (Criteria) this;
        }

        public Criteria andUserreplyIsNotNull() {
            addCriterion("userReply is not null");
            return (Criteria) this;
        }

        public Criteria andUserreplyEqualTo(Byte value) {
            addCriterion("userReply =", value, "userreply");
            return (Criteria) this;
        }

        public Criteria andUserreplyNotEqualTo(Byte value) {
            addCriterion("userReply <>", value, "userreply");
            return (Criteria) this;
        }

        public Criteria andUserreplyGreaterThan(Byte value) {
            addCriterion("userReply >", value, "userreply");
            return (Criteria) this;
        }

        public Criteria andUserreplyGreaterThanOrEqualTo(Byte value) {
            addCriterion("userReply >=", value, "userreply");
            return (Criteria) this;
        }

        public Criteria andUserreplyLessThan(Byte value) {
            addCriterion("userReply <", value, "userreply");
            return (Criteria) this;
        }

        public Criteria andUserreplyLessThanOrEqualTo(Byte value) {
            addCriterion("userReply <=", value, "userreply");
            return (Criteria) this;
        }

        public Criteria andUserreplyIn(List<Byte> values) {
            addCriterion("userReply in", values, "userreply");
            return (Criteria) this;
        }

        public Criteria andUserreplyNotIn(List<Byte> values) {
            addCriterion("userReply not in", values, "userreply");
            return (Criteria) this;
        }

        public Criteria andUserreplyBetween(Byte value1, Byte value2) {
            addCriterion("userReply between", value1, value2, "userreply");
            return (Criteria) this;
        }

        public Criteria andUserreplyNotBetween(Byte value1, Byte value2) {
            addCriterion("userReply not between", value1, value2, "userreply");
            return (Criteria) this;
        }

        public Criteria andReplytimeIsNull() {
            addCriterion("replyTime is null");
            return (Criteria) this;
        }

        public Criteria andReplytimeIsNotNull() {
            addCriterion("replyTime is not null");
            return (Criteria) this;
        }

        public Criteria andReplytimeEqualTo(Long value) {
            addCriterion("replyTime =", value, "replytime");
            return (Criteria) this;
        }

        public Criteria andReplytimeNotEqualTo(Long value) {
            addCriterion("replyTime <>", value, "replytime");
            return (Criteria) this;
        }

        public Criteria andReplytimeGreaterThan(Long value) {
            addCriterion("replyTime >", value, "replytime");
            return (Criteria) this;
        }

        public Criteria andReplytimeGreaterThanOrEqualTo(Long value) {
            addCriterion("replyTime >=", value, "replytime");
            return (Criteria) this;
        }

        public Criteria andReplytimeLessThan(Long value) {
            addCriterion("replyTime <", value, "replytime");
            return (Criteria) this;
        }

        public Criteria andReplytimeLessThanOrEqualTo(Long value) {
            addCriterion("replyTime <=", value, "replytime");
            return (Criteria) this;
        }

        public Criteria andReplytimeIn(List<Long> values) {
            addCriterion("replyTime in", values, "replytime");
            return (Criteria) this;
        }

        public Criteria andReplytimeNotIn(List<Long> values) {
            addCriterion("replyTime not in", values, "replytime");
            return (Criteria) this;
        }

        public Criteria andReplytimeBetween(Long value1, Long value2) {
            addCriterion("replyTime between", value1, value2, "replytime");
            return (Criteria) this;
        }

        public Criteria andReplytimeNotBetween(Long value1, Long value2) {
            addCriterion("replyTime not between", value1, value2, "replytime");
            return (Criteria) this;
        }

        public Criteria andCtimeIsNull() {
            addCriterion("ctime is null");
            return (Criteria) this;
        }

        public Criteria andCtimeIsNotNull() {
            addCriterion("ctime is not null");
            return (Criteria) this;
        }

        public Criteria andCtimeEqualTo(Long value) {
            addCriterion("ctime =", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeNotEqualTo(Long value) {
            addCriterion("ctime <>", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeGreaterThan(Long value) {
            addCriterion("ctime >", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeGreaterThanOrEqualTo(Long value) {
            addCriterion("ctime >=", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeLessThan(Long value) {
            addCriterion("ctime <", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeLessThanOrEqualTo(Long value) {
            addCriterion("ctime <=", value, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeIn(List<Long> values) {
            addCriterion("ctime in", values, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeNotIn(List<Long> values) {
            addCriterion("ctime not in", values, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeBetween(Long value1, Long value2) {
            addCriterion("ctime between", value1, value2, "ctime");
            return (Criteria) this;
        }

        public Criteria andCtimeNotBetween(Long value1, Long value2) {
            addCriterion("ctime not between", value1, value2, "ctime");
            return (Criteria) this;
        }

        public Criteria andExtIsNull() {
            addCriterion("ext is null");
            return (Criteria) this;
        }

        public Criteria andExtIsNotNull() {
            addCriterion("ext is not null");
            return (Criteria) this;
        }

        public Criteria andExtEqualTo(String value) {
            addCriterion("ext =", value, "ext");
            return (Criteria) this;
        }

        public Criteria andExtNotEqualTo(String value) {
            addCriterion("ext <>", value, "ext");
            return (Criteria) this;
        }

        public Criteria andExtGreaterThan(String value) {
            addCriterion("ext >", value, "ext");
            return (Criteria) this;
        }

        public Criteria andExtGreaterThanOrEqualTo(String value) {
            addCriterion("ext >=", value, "ext");
            return (Criteria) this;
        }

        public Criteria andExtLessThan(String value) {
            addCriterion("ext <", value, "ext");
            return (Criteria) this;
        }

        public Criteria andExtLessThanOrEqualTo(String value) {
            addCriterion("ext <=", value, "ext");
            return (Criteria) this;
        }

        public Criteria andExtLike(String value) {
            addCriterion("ext like", value, "ext");
            return (Criteria) this;
        }

        public Criteria andExtNotLike(String value) {
            addCriterion("ext not like", value, "ext");
            return (Criteria) this;
        }

        public Criteria andExtIn(List<String> values) {
            addCriterion("ext in", values, "ext");
            return (Criteria) this;
        }

        public Criteria andExtNotIn(List<String> values) {
            addCriterion("ext not in", values, "ext");
            return (Criteria) this;
        }

        public Criteria andExtBetween(String value1, String value2) {
            addCriterion("ext between", value1, value2, "ext");
            return (Criteria) this;
        }

        public Criteria andExtNotBetween(String value1, String value2) {
            addCriterion("ext not between", value1, value2, "ext");
            return (Criteria) this;
        }

        public Criteria andTitleIsNull() {
            addCriterion("title is null");
            return (Criteria) this;
        }

        public Criteria andTitleIsNotNull() {
            addCriterion("title is not null");
            return (Criteria) this;
        }

        public Criteria andTitleEqualTo(String value) {
            addCriterion("title =", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotEqualTo(String value) {
            addCriterion("title <>", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThan(String value) {
            addCriterion("title >", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleGreaterThanOrEqualTo(String value) {
            addCriterion("title >=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThan(String value) {
            addCriterion("title <", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLessThanOrEqualTo(String value) {
            addCriterion("title <=", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleLike(String value) {
            addCriterion("title like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotLike(String value) {
            addCriterion("title not like", value, "title");
            return (Criteria) this;
        }

        public Criteria andTitleIn(List<String> values) {
            addCriterion("title in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotIn(List<String> values) {
            addCriterion("title not in", values, "title");
            return (Criteria) this;
        }

        public Criteria andTitleBetween(String value1, String value2) {
            addCriterion("title between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andTitleNotBetween(String value1, String value2) {
            addCriterion("title not between", value1, value2, "title");
            return (Criteria) this;
        }

        public Criteria andParamsIsNull() {
            addCriterion("params is null");
            return (Criteria) this;
        }

        public Criteria andParamsIsNotNull() {
            addCriterion("params is not null");
            return (Criteria) this;
        }

        public Criteria andParamsEqualTo(Object value) {
            addCriterion("params =", value, "params");
            return (Criteria) this;
        }

        public Criteria andParamsNotEqualTo(Object value) {
            addCriterion("params <>", value, "params");
            return (Criteria) this;
        }

        public Criteria andParamsGreaterThan(Object value) {
            addCriterion("params >", value, "params");
            return (Criteria) this;
        }

        public Criteria andParamsGreaterThanOrEqualTo(Object value) {
            addCriterion("params >=", value, "params");
            return (Criteria) this;
        }

        public Criteria andParamsLessThan(Object value) {
            addCriterion("params <", value, "params");
            return (Criteria) this;
        }

        public Criteria andParamsLessThanOrEqualTo(Object value) {
            addCriterion("params <=", value, "params");
            return (Criteria) this;
        }

        public Criteria andParamsIn(List<Object> values) {
            addCriterion("params in", values, "params");
            return (Criteria) this;
        }

        public Criteria andParamsNotIn(List<Object> values) {
            addCriterion("params not in", values, "params");
            return (Criteria) this;
        }

        public Criteria andParamsBetween(Object value1, Object value2) {
            addCriterion("params between", value1, value2, "params");
            return (Criteria) this;
        }

        public Criteria andParamsNotBetween(Object value1, Object value2) {
            addCriterion("params not between", value1, value2, "params");
            return (Criteria) this;
        }

        public Criteria andDtimeIsNull() {
            addCriterion("dtime is null");
            return (Criteria) this;
        }

        public Criteria andDtimeIsNotNull() {
            addCriterion("dtime is not null");
            return (Criteria) this;
        }

        public Criteria andDtimeEqualTo(Long value) {
            addCriterion("dtime =", value, "dtime");
            return (Criteria) this;
        }

        public Criteria andDtimeNotEqualTo(Long value) {
            addCriterion("dtime <>", value, "dtime");
            return (Criteria) this;
        }

        public Criteria andDtimeGreaterThan(Long value) {
            addCriterion("dtime >", value, "dtime");
            return (Criteria) this;
        }

        public Criteria andDtimeGreaterThanOrEqualTo(Long value) {
            addCriterion("dtime >=", value, "dtime");
            return (Criteria) this;
        }

        public Criteria andDtimeLessThan(Long value) {
            addCriterion("dtime <", value, "dtime");
            return (Criteria) this;
        }

        public Criteria andDtimeLessThanOrEqualTo(Long value) {
            addCriterion("dtime <=", value, "dtime");
            return (Criteria) this;
        }

        public Criteria andDtimeIn(List<Long> values) {
            addCriterion("dtime in", values, "dtime");
            return (Criteria) this;
        }

        public Criteria andDtimeNotIn(List<Long> values) {
            addCriterion("dtime not in", values, "dtime");
            return (Criteria) this;
        }

        public Criteria andDtimeBetween(Long value1, Long value2) {
            addCriterion("dtime between", value1, value2, "dtime");
            return (Criteria) this;
        }

        public Criteria andDtimeNotBetween(Long value1, Long value2) {
            addCriterion("dtime not between", value1, value2, "dtime");
            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);
        }
    }
}