package com.mvc.entity;

import java.util.ArrayList;
import java.util.List;

public class TDynamicrouteMetaExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TDynamicrouteMetaExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("ID is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("ID is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("ID =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("ID <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("ID >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ID >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("ID <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("ID <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("ID in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("ID not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("ID between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ID not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIconIsNull() {
            addCriterion("ICON is null");
            return (Criteria) this;
        }

        public Criteria andIconIsNotNull() {
            addCriterion("ICON is not null");
            return (Criteria) this;
        }

        public Criteria andIconEqualTo(String value) {
            addCriterion("ICON =", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconNotEqualTo(String value) {
            addCriterion("ICON <>", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconGreaterThan(String value) {
            addCriterion("ICON >", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconGreaterThanOrEqualTo(String value) {
            addCriterion("ICON >=", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconLessThan(String value) {
            addCriterion("ICON <", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconLessThanOrEqualTo(String value) {
            addCriterion("ICON <=", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconLike(String value) {
            addCriterion("ICON like", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconNotLike(String value) {
            addCriterion("ICON not like", value, "icon");
            return (Criteria) this;
        }

        public Criteria andIconIn(List<String> values) {
            addCriterion("ICON in", values, "icon");
            return (Criteria) this;
        }

        public Criteria andIconNotIn(List<String> values) {
            addCriterion("ICON not in", values, "icon");
            return (Criteria) this;
        }

        public Criteria andIconBetween(String value1, String value2) {
            addCriterion("ICON between", value1, value2, "icon");
            return (Criteria) this;
        }

        public Criteria andIconNotBetween(String value1, String value2) {
            addCriterion("ICON not between", value1, value2, "icon");
            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 andIslinkIsNull() {
            addCriterion("ISLINK is null");
            return (Criteria) this;
        }

        public Criteria andIslinkIsNotNull() {
            addCriterion("ISLINK is not null");
            return (Criteria) this;
        }

        public Criteria andIslinkEqualTo(String value) {
            addCriterion("ISLINK =", value, "islink");
            return (Criteria) this;
        }

        public Criteria andIslinkNotEqualTo(String value) {
            addCriterion("ISLINK <>", value, "islink");
            return (Criteria) this;
        }

        public Criteria andIslinkGreaterThan(String value) {
            addCriterion("ISLINK >", value, "islink");
            return (Criteria) this;
        }

        public Criteria andIslinkGreaterThanOrEqualTo(String value) {
            addCriterion("ISLINK >=", value, "islink");
            return (Criteria) this;
        }

        public Criteria andIslinkLessThan(String value) {
            addCriterion("ISLINK <", value, "islink");
            return (Criteria) this;
        }

        public Criteria andIslinkLessThanOrEqualTo(String value) {
            addCriterion("ISLINK <=", value, "islink");
            return (Criteria) this;
        }

        public Criteria andIslinkLike(String value) {
            addCriterion("ISLINK like", value, "islink");
            return (Criteria) this;
        }

        public Criteria andIslinkNotLike(String value) {
            addCriterion("ISLINK not like", value, "islink");
            return (Criteria) this;
        }

        public Criteria andIslinkIn(List<String> values) {
            addCriterion("ISLINK in", values, "islink");
            return (Criteria) this;
        }

        public Criteria andIslinkNotIn(List<String> values) {
            addCriterion("ISLINK not in", values, "islink");
            return (Criteria) this;
        }

        public Criteria andIslinkBetween(String value1, String value2) {
            addCriterion("ISLINK between", value1, value2, "islink");
            return (Criteria) this;
        }

        public Criteria andIslinkNotBetween(String value1, String value2) {
            addCriterion("ISLINK not between", value1, value2, "islink");
            return (Criteria) this;
        }

        public Criteria andIshideIsNull() {
            addCriterion("ISHIDE is null");
            return (Criteria) this;
        }

        public Criteria andIshideIsNotNull() {
            addCriterion("ISHIDE is not null");
            return (Criteria) this;
        }

        public Criteria andIshideEqualTo(Integer value) {
            addCriterion("ISHIDE =", value, "ishide");
            return (Criteria) this;
        }

        public Criteria andIshideNotEqualTo(Integer value) {
            addCriterion("ISHIDE <>", value, "ishide");
            return (Criteria) this;
        }

        public Criteria andIshideGreaterThan(Integer value) {
            addCriterion("ISHIDE >", value, "ishide");
            return (Criteria) this;
        }

        public Criteria andIshideGreaterThanOrEqualTo(Integer value) {
            addCriterion("ISHIDE >=", value, "ishide");
            return (Criteria) this;
        }

        public Criteria andIshideLessThan(Integer value) {
            addCriterion("ISHIDE <", value, "ishide");
            return (Criteria) this;
        }

        public Criteria andIshideLessThanOrEqualTo(Integer value) {
            addCriterion("ISHIDE <=", value, "ishide");
            return (Criteria) this;
        }

        public Criteria andIshideIn(List<Integer> values) {
            addCriterion("ISHIDE in", values, "ishide");
            return (Criteria) this;
        }

        public Criteria andIshideNotIn(List<Integer> values) {
            addCriterion("ISHIDE not in", values, "ishide");
            return (Criteria) this;
        }

        public Criteria andIshideBetween(Integer value1, Integer value2) {
            addCriterion("ISHIDE between", value1, value2, "ishide");
            return (Criteria) this;
        }

        public Criteria andIshideNotBetween(Integer value1, Integer value2) {
            addCriterion("ISHIDE not between", value1, value2, "ishide");
            return (Criteria) this;
        }

        public Criteria andIsfullIsNull() {
            addCriterion("ISFULL is null");
            return (Criteria) this;
        }

        public Criteria andIsfullIsNotNull() {
            addCriterion("ISFULL is not null");
            return (Criteria) this;
        }

        public Criteria andIsfullEqualTo(Integer value) {
            addCriterion("ISFULL =", value, "isfull");
            return (Criteria) this;
        }

        public Criteria andIsfullNotEqualTo(Integer value) {
            addCriterion("ISFULL <>", value, "isfull");
            return (Criteria) this;
        }

        public Criteria andIsfullGreaterThan(Integer value) {
            addCriterion("ISFULL >", value, "isfull");
            return (Criteria) this;
        }

        public Criteria andIsfullGreaterThanOrEqualTo(Integer value) {
            addCriterion("ISFULL >=", value, "isfull");
            return (Criteria) this;
        }

        public Criteria andIsfullLessThan(Integer value) {
            addCriterion("ISFULL <", value, "isfull");
            return (Criteria) this;
        }

        public Criteria andIsfullLessThanOrEqualTo(Integer value) {
            addCriterion("ISFULL <=", value, "isfull");
            return (Criteria) this;
        }

        public Criteria andIsfullIn(List<Integer> values) {
            addCriterion("ISFULL in", values, "isfull");
            return (Criteria) this;
        }

        public Criteria andIsfullNotIn(List<Integer> values) {
            addCriterion("ISFULL not in", values, "isfull");
            return (Criteria) this;
        }

        public Criteria andIsfullBetween(Integer value1, Integer value2) {
            addCriterion("ISFULL between", value1, value2, "isfull");
            return (Criteria) this;
        }

        public Criteria andIsfullNotBetween(Integer value1, Integer value2) {
            addCriterion("ISFULL not between", value1, value2, "isfull");
            return (Criteria) this;
        }

        public Criteria andIsaffixIsNull() {
            addCriterion("ISAFFIX is null");
            return (Criteria) this;
        }

        public Criteria andIsaffixIsNotNull() {
            addCriterion("ISAFFIX is not null");
            return (Criteria) this;
        }

        public Criteria andIsaffixEqualTo(Integer value) {
            addCriterion("ISAFFIX =", value, "isaffix");
            return (Criteria) this;
        }

        public Criteria andIsaffixNotEqualTo(Integer value) {
            addCriterion("ISAFFIX <>", value, "isaffix");
            return (Criteria) this;
        }

        public Criteria andIsaffixGreaterThan(Integer value) {
            addCriterion("ISAFFIX >", value, "isaffix");
            return (Criteria) this;
        }

        public Criteria andIsaffixGreaterThanOrEqualTo(Integer value) {
            addCriterion("ISAFFIX >=", value, "isaffix");
            return (Criteria) this;
        }

        public Criteria andIsaffixLessThan(Integer value) {
            addCriterion("ISAFFIX <", value, "isaffix");
            return (Criteria) this;
        }

        public Criteria andIsaffixLessThanOrEqualTo(Integer value) {
            addCriterion("ISAFFIX <=", value, "isaffix");
            return (Criteria) this;
        }

        public Criteria andIsaffixIn(List<Integer> values) {
            addCriterion("ISAFFIX in", values, "isaffix");
            return (Criteria) this;
        }

        public Criteria andIsaffixNotIn(List<Integer> values) {
            addCriterion("ISAFFIX not in", values, "isaffix");
            return (Criteria) this;
        }

        public Criteria andIsaffixBetween(Integer value1, Integer value2) {
            addCriterion("ISAFFIX between", value1, value2, "isaffix");
            return (Criteria) this;
        }

        public Criteria andIsaffixNotBetween(Integer value1, Integer value2) {
            addCriterion("ISAFFIX not between", value1, value2, "isaffix");
            return (Criteria) this;
        }

        public Criteria andIskeepaliveIsNull() {
            addCriterion("ISKEEPALIVE is null");
            return (Criteria) this;
        }

        public Criteria andIskeepaliveIsNotNull() {
            addCriterion("ISKEEPALIVE is not null");
            return (Criteria) this;
        }

        public Criteria andIskeepaliveEqualTo(Integer value) {
            addCriterion("ISKEEPALIVE =", value, "iskeepalive");
            return (Criteria) this;
        }

        public Criteria andIskeepaliveNotEqualTo(Integer value) {
            addCriterion("ISKEEPALIVE <>", value, "iskeepalive");
            return (Criteria) this;
        }

        public Criteria andIskeepaliveGreaterThan(Integer value) {
            addCriterion("ISKEEPALIVE >", value, "iskeepalive");
            return (Criteria) this;
        }

        public Criteria andIskeepaliveGreaterThanOrEqualTo(Integer value) {
            addCriterion("ISKEEPALIVE >=", value, "iskeepalive");
            return (Criteria) this;
        }

        public Criteria andIskeepaliveLessThan(Integer value) {
            addCriterion("ISKEEPALIVE <", value, "iskeepalive");
            return (Criteria) this;
        }

        public Criteria andIskeepaliveLessThanOrEqualTo(Integer value) {
            addCriterion("ISKEEPALIVE <=", value, "iskeepalive");
            return (Criteria) this;
        }

        public Criteria andIskeepaliveIn(List<Integer> values) {
            addCriterion("ISKEEPALIVE in", values, "iskeepalive");
            return (Criteria) this;
        }

        public Criteria andIskeepaliveNotIn(List<Integer> values) {
            addCriterion("ISKEEPALIVE not in", values, "iskeepalive");
            return (Criteria) this;
        }

        public Criteria andIskeepaliveBetween(Integer value1, Integer value2) {
            addCriterion("ISKEEPALIVE between", value1, value2, "iskeepalive");
            return (Criteria) this;
        }

        public Criteria andIskeepaliveNotBetween(Integer value1, Integer value2) {
            addCriterion("ISKEEPALIVE not between", value1, value2, "iskeepalive");
            return (Criteria) this;
        }

        public Criteria andIscxacIsNull() {
            addCriterion("ISCXAC is null");
            return (Criteria) this;
        }

        public Criteria andIscxacIsNotNull() {
            addCriterion("ISCXAC is not null");
            return (Criteria) this;
        }

        public Criteria andIscxacEqualTo(Integer value) {
            addCriterion("ISCXAC =", value, "iscxac");
            return (Criteria) this;
        }

        public Criteria andIscxacNotEqualTo(Integer value) {
            addCriterion("ISCXAC <>", value, "iscxac");
            return (Criteria) this;
        }

        public Criteria andIscxacGreaterThan(Integer value) {
            addCriterion("ISCXAC >", value, "iscxac");
            return (Criteria) this;
        }

        public Criteria andIscxacGreaterThanOrEqualTo(Integer value) {
            addCriterion("ISCXAC >=", value, "iscxac");
            return (Criteria) this;
        }

        public Criteria andIscxacLessThan(Integer value) {
            addCriterion("ISCXAC <", value, "iscxac");
            return (Criteria) this;
        }

        public Criteria andIscxacLessThanOrEqualTo(Integer value) {
            addCriterion("ISCXAC <=", value, "iscxac");
            return (Criteria) this;
        }

        public Criteria andIscxacIn(List<Integer> values) {
            addCriterion("ISCXAC in", values, "iscxac");
            return (Criteria) this;
        }

        public Criteria andIscxacNotIn(List<Integer> values) {
            addCriterion("ISCXAC not in", values, "iscxac");
            return (Criteria) this;
        }

        public Criteria andIscxacBetween(Integer value1, Integer value2) {
            addCriterion("ISCXAC between", value1, value2, "iscxac");
            return (Criteria) this;
        }

        public Criteria andIscxacNotBetween(Integer value1, Integer value2) {
            addCriterion("ISCXAC not between", value1, value2, "iscxac");
            return (Criteria) this;
        }

        public Criteria andRouterIdIsNull() {
            addCriterion("ROUTER_ID is null");
            return (Criteria) this;
        }

        public Criteria andRouterIdIsNotNull() {
            addCriterion("ROUTER_ID is not null");
            return (Criteria) this;
        }

        public Criteria andRouterIdEqualTo(Integer value) {
            addCriterion("ROUTER_ID =", value, "routerId");
            return (Criteria) this;
        }

        public Criteria andRouterIdNotEqualTo(Integer value) {
            addCriterion("ROUTER_ID <>", value, "routerId");
            return (Criteria) this;
        }

        public Criteria andRouterIdGreaterThan(Integer value) {
            addCriterion("ROUTER_ID >", value, "routerId");
            return (Criteria) this;
        }

        public Criteria andRouterIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("ROUTER_ID >=", value, "routerId");
            return (Criteria) this;
        }

        public Criteria andRouterIdLessThan(Integer value) {
            addCriterion("ROUTER_ID <", value, "routerId");
            return (Criteria) this;
        }

        public Criteria andRouterIdLessThanOrEqualTo(Integer value) {
            addCriterion("ROUTER_ID <=", value, "routerId");
            return (Criteria) this;
        }

        public Criteria andRouterIdIn(List<Integer> values) {
            addCriterion("ROUTER_ID in", values, "routerId");
            return (Criteria) this;
        }

        public Criteria andRouterIdNotIn(List<Integer> values) {
            addCriterion("ROUTER_ID not in", values, "routerId");
            return (Criteria) this;
        }

        public Criteria andRouterIdBetween(Integer value1, Integer value2) {
            addCriterion("ROUTER_ID between", value1, value2, "routerId");
            return (Criteria) this;
        }

        public Criteria andRouterIdNotBetween(Integer value1, Integer value2) {
            addCriterion("ROUTER_ID not between", value1, value2, "routerId");
            return (Criteria) this;
        }

        public Criteria andAllowUnitTypesIsNull() {
            addCriterion("ALLOW_UNIT_TYPES is null");
            return (Criteria) this;
        }

        public Criteria andAllowUnitTypesIsNotNull() {
            addCriterion("ALLOW_UNIT_TYPES is not null");
            return (Criteria) this;
        }

        public Criteria andAllowUnitTypesEqualTo(String value) {
            addCriterion("ALLOW_UNIT_TYPES =", value, "allowUnitTypes");
            return (Criteria) this;
        }

        public Criteria andAllowUnitTypesNotEqualTo(String value) {
            addCriterion("ALLOW_UNIT_TYPES <>", value, "allowUnitTypes");
            return (Criteria) this;
        }

        public Criteria andAllowUnitTypesGreaterThan(String value) {
            addCriterion("ALLOW_UNIT_TYPES >", value, "allowUnitTypes");
            return (Criteria) this;
        }

        public Criteria andAllowUnitTypesGreaterThanOrEqualTo(String value) {
            addCriterion("ALLOW_UNIT_TYPES >=", value, "allowUnitTypes");
            return (Criteria) this;
        }

        public Criteria andAllowUnitTypesLessThan(String value) {
            addCriterion("ALLOW_UNIT_TYPES <", value, "allowUnitTypes");
            return (Criteria) this;
        }

        public Criteria andAllowUnitTypesLessThanOrEqualTo(String value) {
            addCriterion("ALLOW_UNIT_TYPES <=", value, "allowUnitTypes");
            return (Criteria) this;
        }

        public Criteria andAllowUnitTypesLike(String value) {
            addCriterion("ALLOW_UNIT_TYPES like", value, "allowUnitTypes");
            return (Criteria) this;
        }

        public Criteria andAllowUnitTypesNotLike(String value) {
            addCriterion("ALLOW_UNIT_TYPES not like", value, "allowUnitTypes");
            return (Criteria) this;
        }

        public Criteria andAllowUnitTypesIn(List<String> values) {
            addCriterion("ALLOW_UNIT_TYPES in", values, "allowUnitTypes");
            return (Criteria) this;
        }

        public Criteria andAllowUnitTypesNotIn(List<String> values) {
            addCriterion("ALLOW_UNIT_TYPES not in", values, "allowUnitTypes");
            return (Criteria) this;
        }

        public Criteria andAllowUnitTypesBetween(String value1, String value2) {
            addCriterion("ALLOW_UNIT_TYPES between", value1, value2, "allowUnitTypes");
            return (Criteria) this;
        }

        public Criteria andAllowUnitTypesNotBetween(String value1, String value2) {
            addCriterion("ALLOW_UNIT_TYPES not between", value1, value2, "allowUnitTypes");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}