package com.mvc.entity;

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

public class TAiTargetboxExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public TAiTargetboxExample() {
        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 andAiTypeIsNull() {
            addCriterion("AI_TYPE is null");
            return (Criteria) this;
        }

        public Criteria andAiTypeIsNotNull() {
            addCriterion("AI_TYPE is not null");
            return (Criteria) this;
        }

        public Criteria andAiTypeEqualTo(String value) {
            addCriterion("AI_TYPE =", value, "aiType");
            return (Criteria) this;
        }

        public Criteria andAiTypeNotEqualTo(String value) {
            addCriterion("AI_TYPE <>", value, "aiType");
            return (Criteria) this;
        }

        public Criteria andAiTypeGreaterThan(String value) {
            addCriterion("AI_TYPE >", value, "aiType");
            return (Criteria) this;
        }

        public Criteria andAiTypeGreaterThanOrEqualTo(String value) {
            addCriterion("AI_TYPE >=", value, "aiType");
            return (Criteria) this;
        }

        public Criteria andAiTypeLessThan(String value) {
            addCriterion("AI_TYPE <", value, "aiType");
            return (Criteria) this;
        }

        public Criteria andAiTypeLessThanOrEqualTo(String value) {
            addCriterion("AI_TYPE <=", value, "aiType");
            return (Criteria) this;
        }

        public Criteria andAiTypeLike(String value) {
            addCriterion("AI_TYPE like", value, "aiType");
            return (Criteria) this;
        }

        public Criteria andAiTypeNotLike(String value) {
            addCriterion("AI_TYPE not like", value, "aiType");
            return (Criteria) this;
        }

        public Criteria andAiTypeIn(List<String> values) {
            addCriterion("AI_TYPE in", values, "aiType");
            return (Criteria) this;
        }

        public Criteria andAiTypeNotIn(List<String> values) {
            addCriterion("AI_TYPE not in", values, "aiType");
            return (Criteria) this;
        }

        public Criteria andAiTypeBetween(String value1, String value2) {
            addCriterion("AI_TYPE between", value1, value2, "aiType");
            return (Criteria) this;
        }

        public Criteria andAiTypeNotBetween(String value1, String value2) {
            addCriterion("AI_TYPE not between", value1, value2, "aiType");
            return (Criteria) this;
        }

        public Criteria andTargetclassIsNull() {
            addCriterion("TARGETCLASS is null");
            return (Criteria) this;
        }

        public Criteria andTargetclassIsNotNull() {
            addCriterion("TARGETCLASS is not null");
            return (Criteria) this;
        }

        public Criteria andTargetclassEqualTo(Double value) {
            addCriterion("TARGETCLASS =", value, "targetclass");
            return (Criteria) this;
        }

        public Criteria andTargetclassNotEqualTo(Double value) {
            addCriterion("TARGETCLASS <>", value, "targetclass");
            return (Criteria) this;
        }

        public Criteria andTargetclassGreaterThan(Double value) {
            addCriterion("TARGETCLASS >", value, "targetclass");
            return (Criteria) this;
        }

        public Criteria andTargetclassGreaterThanOrEqualTo(Double value) {
            addCriterion("TARGETCLASS >=", value, "targetclass");
            return (Criteria) this;
        }

        public Criteria andTargetclassLessThan(Double value) {
            addCriterion("TARGETCLASS <", value, "targetclass");
            return (Criteria) this;
        }

        public Criteria andTargetclassLessThanOrEqualTo(Double value) {
            addCriterion("TARGETCLASS <=", value, "targetclass");
            return (Criteria) this;
        }

        public Criteria andTargetclassIn(List<Double> values) {
            addCriterion("TARGETCLASS in", values, "targetclass");
            return (Criteria) this;
        }

        public Criteria andTargetclassNotIn(List<Double> values) {
            addCriterion("TARGETCLASS not in", values, "targetclass");
            return (Criteria) this;
        }

        public Criteria andTargetclassBetween(Double value1, Double value2) {
            addCriterion("TARGETCLASS between", value1, value2, "targetclass");
            return (Criteria) this;
        }

        public Criteria andTargetclassNotBetween(Double value1, Double value2) {
            addCriterion("TARGETCLASS not between", value1, value2, "targetclass");
            return (Criteria) this;
        }

        public Criteria andConfIsNull() {
            addCriterion("CONF is null");
            return (Criteria) this;
        }

        public Criteria andConfIsNotNull() {
            addCriterion("CONF is not null");
            return (Criteria) this;
        }

        public Criteria andConfEqualTo(Double value) {
            addCriterion("CONF =", value, "conf");
            return (Criteria) this;
        }

        public Criteria andConfNotEqualTo(Double value) {
            addCriterion("CONF <>", value, "conf");
            return (Criteria) this;
        }

        public Criteria andConfGreaterThan(Double value) {
            addCriterion("CONF >", value, "conf");
            return (Criteria) this;
        }

        public Criteria andConfGreaterThanOrEqualTo(Double value) {
            addCriterion("CONF >=", value, "conf");
            return (Criteria) this;
        }

        public Criteria andConfLessThan(Double value) {
            addCriterion("CONF <", value, "conf");
            return (Criteria) this;
        }

        public Criteria andConfLessThanOrEqualTo(Double value) {
            addCriterion("CONF <=", value, "conf");
            return (Criteria) this;
        }

        public Criteria andConfIn(List<Double> values) {
            addCriterion("CONF in", values, "conf");
            return (Criteria) this;
        }

        public Criteria andConfNotIn(List<Double> values) {
            addCriterion("CONF not in", values, "conf");
            return (Criteria) this;
        }

        public Criteria andConfBetween(Double value1, Double value2) {
            addCriterion("CONF between", value1, value2, "conf");
            return (Criteria) this;
        }

        public Criteria andConfNotBetween(Double value1, Double value2) {
            addCriterion("CONF not between", value1, value2, "conf");
            return (Criteria) this;
        }

        public Criteria andXminIsNull() {
            addCriterion("XMIN is null");
            return (Criteria) this;
        }

        public Criteria andXminIsNotNull() {
            addCriterion("XMIN is not null");
            return (Criteria) this;
        }

        public Criteria andXminEqualTo(Double value) {
            addCriterion("XMIN =", value, "xmin");
            return (Criteria) this;
        }

        public Criteria andXminNotEqualTo(Double value) {
            addCriterion("XMIN <>", value, "xmin");
            return (Criteria) this;
        }

        public Criteria andXminGreaterThan(Double value) {
            addCriterion("XMIN >", value, "xmin");
            return (Criteria) this;
        }

        public Criteria andXminGreaterThanOrEqualTo(Double value) {
            addCriterion("XMIN >=", value, "xmin");
            return (Criteria) this;
        }

        public Criteria andXminLessThan(Double value) {
            addCriterion("XMIN <", value, "xmin");
            return (Criteria) this;
        }

        public Criteria andXminLessThanOrEqualTo(Double value) {
            addCriterion("XMIN <=", value, "xmin");
            return (Criteria) this;
        }

        public Criteria andXminIn(List<Double> values) {
            addCriterion("XMIN in", values, "xmin");
            return (Criteria) this;
        }

        public Criteria andXminNotIn(List<Double> values) {
            addCriterion("XMIN not in", values, "xmin");
            return (Criteria) this;
        }

        public Criteria andXminBetween(Double value1, Double value2) {
            addCriterion("XMIN between", value1, value2, "xmin");
            return (Criteria) this;
        }

        public Criteria andXminNotBetween(Double value1, Double value2) {
            addCriterion("XMIN not between", value1, value2, "xmin");
            return (Criteria) this;
        }

        public Criteria andYminIsNull() {
            addCriterion("YMIN is null");
            return (Criteria) this;
        }

        public Criteria andYminIsNotNull() {
            addCriterion("YMIN is not null");
            return (Criteria) this;
        }

        public Criteria andYminEqualTo(Double value) {
            addCriterion("YMIN =", value, "ymin");
            return (Criteria) this;
        }

        public Criteria andYminNotEqualTo(Double value) {
            addCriterion("YMIN <>", value, "ymin");
            return (Criteria) this;
        }

        public Criteria andYminGreaterThan(Double value) {
            addCriterion("YMIN >", value, "ymin");
            return (Criteria) this;
        }

        public Criteria andYminGreaterThanOrEqualTo(Double value) {
            addCriterion("YMIN >=", value, "ymin");
            return (Criteria) this;
        }

        public Criteria andYminLessThan(Double value) {
            addCriterion("YMIN <", value, "ymin");
            return (Criteria) this;
        }

        public Criteria andYminLessThanOrEqualTo(Double value) {
            addCriterion("YMIN <=", value, "ymin");
            return (Criteria) this;
        }

        public Criteria andYminIn(List<Double> values) {
            addCriterion("YMIN in", values, "ymin");
            return (Criteria) this;
        }

        public Criteria andYminNotIn(List<Double> values) {
            addCriterion("YMIN not in", values, "ymin");
            return (Criteria) this;
        }

        public Criteria andYminBetween(Double value1, Double value2) {
            addCriterion("YMIN between", value1, value2, "ymin");
            return (Criteria) this;
        }

        public Criteria andYminNotBetween(Double value1, Double value2) {
            addCriterion("YMIN not between", value1, value2, "ymin");
            return (Criteria) this;
        }

        public Criteria andXmaxIsNull() {
            addCriterion("XMAX is null");
            return (Criteria) this;
        }

        public Criteria andXmaxIsNotNull() {
            addCriterion("XMAX is not null");
            return (Criteria) this;
        }

        public Criteria andXmaxEqualTo(Double value) {
            addCriterion("XMAX =", value, "xmax");
            return (Criteria) this;
        }

        public Criteria andXmaxNotEqualTo(Double value) {
            addCriterion("XMAX <>", value, "xmax");
            return (Criteria) this;
        }

        public Criteria andXmaxGreaterThan(Double value) {
            addCriterion("XMAX >", value, "xmax");
            return (Criteria) this;
        }

        public Criteria andXmaxGreaterThanOrEqualTo(Double value) {
            addCriterion("XMAX >=", value, "xmax");
            return (Criteria) this;
        }

        public Criteria andXmaxLessThan(Double value) {
            addCriterion("XMAX <", value, "xmax");
            return (Criteria) this;
        }

        public Criteria andXmaxLessThanOrEqualTo(Double value) {
            addCriterion("XMAX <=", value, "xmax");
            return (Criteria) this;
        }

        public Criteria andXmaxIn(List<Double> values) {
            addCriterion("XMAX in", values, "xmax");
            return (Criteria) this;
        }

        public Criteria andXmaxNotIn(List<Double> values) {
            addCriterion("XMAX not in", values, "xmax");
            return (Criteria) this;
        }

        public Criteria andXmaxBetween(Double value1, Double value2) {
            addCriterion("XMAX between", value1, value2, "xmax");
            return (Criteria) this;
        }

        public Criteria andXmaxNotBetween(Double value1, Double value2) {
            addCriterion("XMAX not between", value1, value2, "xmax");
            return (Criteria) this;
        }

        public Criteria andYmaxIsNull() {
            addCriterion("YMAX is null");
            return (Criteria) this;
        }

        public Criteria andYmaxIsNotNull() {
            addCriterion("YMAX is not null");
            return (Criteria) this;
        }

        public Criteria andYmaxEqualTo(Double value) {
            addCriterion("YMAX =", value, "ymax");
            return (Criteria) this;
        }

        public Criteria andYmaxNotEqualTo(Double value) {
            addCriterion("YMAX <>", value, "ymax");
            return (Criteria) this;
        }

        public Criteria andYmaxGreaterThan(Double value) {
            addCriterion("YMAX >", value, "ymax");
            return (Criteria) this;
        }

        public Criteria andYmaxGreaterThanOrEqualTo(Double value) {
            addCriterion("YMAX >=", value, "ymax");
            return (Criteria) this;
        }

        public Criteria andYmaxLessThan(Double value) {
            addCriterion("YMAX <", value, "ymax");
            return (Criteria) this;
        }

        public Criteria andYmaxLessThanOrEqualTo(Double value) {
            addCriterion("YMAX <=", value, "ymax");
            return (Criteria) this;
        }

        public Criteria andYmaxIn(List<Double> values) {
            addCriterion("YMAX in", values, "ymax");
            return (Criteria) this;
        }

        public Criteria andYmaxNotIn(List<Double> values) {
            addCriterion("YMAX not in", values, "ymax");
            return (Criteria) this;
        }

        public Criteria andYmaxBetween(Double value1, Double value2) {
            addCriterion("YMAX between", value1, value2, "ymax");
            return (Criteria) this;
        }

        public Criteria andYmaxNotBetween(Double value1, Double value2) {
            addCriterion("YMAX not between", value1, value2, "ymax");
            return (Criteria) this;
        }

        public Criteria andPriorboxindexIsNull() {
            addCriterion("PRIORBOXINDEX is null");
            return (Criteria) this;
        }

        public Criteria andPriorboxindexIsNotNull() {
            addCriterion("PRIORBOXINDEX is not null");
            return (Criteria) this;
        }

        public Criteria andPriorboxindexEqualTo(Integer value) {
            addCriterion("PRIORBOXINDEX =", value, "priorboxindex");
            return (Criteria) this;
        }

        public Criteria andPriorboxindexNotEqualTo(Integer value) {
            addCriterion("PRIORBOXINDEX <>", value, "priorboxindex");
            return (Criteria) this;
        }

        public Criteria andPriorboxindexGreaterThan(Integer value) {
            addCriterion("PRIORBOXINDEX >", value, "priorboxindex");
            return (Criteria) this;
        }

        public Criteria andPriorboxindexGreaterThanOrEqualTo(Integer value) {
            addCriterion("PRIORBOXINDEX >=", value, "priorboxindex");
            return (Criteria) this;
        }

        public Criteria andPriorboxindexLessThan(Integer value) {
            addCriterion("PRIORBOXINDEX <", value, "priorboxindex");
            return (Criteria) this;
        }

        public Criteria andPriorboxindexLessThanOrEqualTo(Integer value) {
            addCriterion("PRIORBOXINDEX <=", value, "priorboxindex");
            return (Criteria) this;
        }

        public Criteria andPriorboxindexIn(List<Integer> values) {
            addCriterion("PRIORBOXINDEX in", values, "priorboxindex");
            return (Criteria) this;
        }

        public Criteria andPriorboxindexNotIn(List<Integer> values) {
            addCriterion("PRIORBOXINDEX not in", values, "priorboxindex");
            return (Criteria) this;
        }

        public Criteria andPriorboxindexBetween(Integer value1, Integer value2) {
            addCriterion("PRIORBOXINDEX between", value1, value2, "priorboxindex");
            return (Criteria) this;
        }

        public Criteria andPriorboxindexNotBetween(Integer value1, Integer value2) {
            addCriterion("PRIORBOXINDEX not between", value1, value2, "priorboxindex");
            return (Criteria) this;
        }

        public Criteria andIsvalidIsNull() {
            addCriterion("ISVALID is null");
            return (Criteria) this;
        }

        public Criteria andIsvalidIsNotNull() {
            addCriterion("ISVALID is not null");
            return (Criteria) this;
        }

        public Criteria andIsvalidEqualTo(Double value) {
            addCriterion("ISVALID =", value, "isvalid");
            return (Criteria) this;
        }

        public Criteria andIsvalidNotEqualTo(Double value) {
            addCriterion("ISVALID <>", value, "isvalid");
            return (Criteria) this;
        }

        public Criteria andIsvalidGreaterThan(Double value) {
            addCriterion("ISVALID >", value, "isvalid");
            return (Criteria) this;
        }

        public Criteria andIsvalidGreaterThanOrEqualTo(Double value) {
            addCriterion("ISVALID >=", value, "isvalid");
            return (Criteria) this;
        }

        public Criteria andIsvalidLessThan(Double value) {
            addCriterion("ISVALID <", value, "isvalid");
            return (Criteria) this;
        }

        public Criteria andIsvalidLessThanOrEqualTo(Double value) {
            addCriterion("ISVALID <=", value, "isvalid");
            return (Criteria) this;
        }

        public Criteria andIsvalidIn(List<Double> values) {
            addCriterion("ISVALID in", values, "isvalid");
            return (Criteria) this;
        }

        public Criteria andIsvalidNotIn(List<Double> values) {
            addCriterion("ISVALID not in", values, "isvalid");
            return (Criteria) this;
        }

        public Criteria andIsvalidBetween(Double value1, Double value2) {
            addCriterion("ISVALID between", value1, value2, "isvalid");
            return (Criteria) this;
        }

        public Criteria andIsvalidNotBetween(Double value1, Double value2) {
            addCriterion("ISVALID not between", value1, value2, "isvalid");
            return (Criteria) this;
        }

        public Criteria andSourceIdIsNull() {
            addCriterion("SOURCE_ID is null");
            return (Criteria) this;
        }

        public Criteria andSourceIdIsNotNull() {
            addCriterion("SOURCE_ID is not null");
            return (Criteria) this;
        }

        public Criteria andSourceIdEqualTo(String value) {
            addCriterion("SOURCE_ID =", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotEqualTo(String value) {
            addCriterion("SOURCE_ID <>", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdGreaterThan(String value) {
            addCriterion("SOURCE_ID >", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdGreaterThanOrEqualTo(String value) {
            addCriterion("SOURCE_ID >=", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLessThan(String value) {
            addCriterion("SOURCE_ID <", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLessThanOrEqualTo(String value) {
            addCriterion("SOURCE_ID <=", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdLike(String value) {
            addCriterion("SOURCE_ID like", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotLike(String value) {
            addCriterion("SOURCE_ID not like", value, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdIn(List<String> values) {
            addCriterion("SOURCE_ID in", values, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotIn(List<String> values) {
            addCriterion("SOURCE_ID not in", values, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdBetween(String value1, String value2) {
            addCriterion("SOURCE_ID between", value1, value2, "sourceId");
            return (Criteria) this;
        }

        public Criteria andSourceIdNotBetween(String value1, String value2) {
            addCriterion("SOURCE_ID not between", value1, value2, "sourceId");
            return (Criteria) this;
        }
    }

    public 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);
        }
    }
}