package com.gyee.frame.model.auto;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class AnalysissubtablebottomExample {
    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table ANALYSISSUBTABLEBOTTOM
     *
     * @mbg.generated
     */
    protected String orderByClause;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table ANALYSISSUBTABLEBOTTOM
     *
     * @mbg.generated
     */
    protected boolean distinct;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table ANALYSISSUBTABLEBOTTOM
     *
     * @mbg.generated
     */
    protected List<Criteria> oredCriteria;

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table ANALYSISSUBTABLEBOTTOM
     *
     * @mbg.generated
     */
    public AnalysissubtablebottomExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table ANALYSISSUBTABLEBOTTOM
     *
     * @mbg.generated
     */
    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table ANALYSISSUBTABLEBOTTOM
     *
     * @mbg.generated
     */
    public String getOrderByClause() {
        return orderByClause;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table ANALYSISSUBTABLEBOTTOM
     *
     * @mbg.generated
     */
    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table ANALYSISSUBTABLEBOTTOM
     *
     * @mbg.generated
     */
    public boolean isDistinct() {
        return distinct;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table ANALYSISSUBTABLEBOTTOM
     *
     * @mbg.generated
     */
    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table ANALYSISSUBTABLEBOTTOM
     *
     * @mbg.generated
     */
    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table ANALYSISSUBTABLEBOTTOM
     *
     * @mbg.generated
     */
    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table ANALYSISSUBTABLEBOTTOM
     *
     * @mbg.generated
     */
    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table ANALYSISSUBTABLEBOTTOM
     *
     * @mbg.generated
     */
    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method corresponds to the database table ANALYSISSUBTABLEBOTTOM
     *
     * @mbg.generated
     */
    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table ANALYSISSUBTABLEBOTTOM
     *
     * @mbg.generated
     */
    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(Short value) {
            addCriterion("ID =", value, "id");
            return (Criteria) this;
        }

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

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

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

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

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

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

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

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

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

        public Criteria andTidIsNull() {
            addCriterion("TID is null");
            return (Criteria) this;
        }

        public Criteria andTidIsNotNull() {
            addCriterion("TID is not null");
            return (Criteria) this;
        }

        public Criteria andTidEqualTo(Short value) {
            addCriterion("TID =", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotEqualTo(Short value) {
            addCriterion("TID <>", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidGreaterThan(Short value) {
            addCriterion("TID >", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidGreaterThanOrEqualTo(Short value) {
            addCriterion("TID >=", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidLessThan(Short value) {
            addCriterion("TID <", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidLessThanOrEqualTo(Short value) {
            addCriterion("TID <=", value, "tid");
            return (Criteria) this;
        }

        public Criteria andTidIn(List<Short> values) {
            addCriterion("TID in", values, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotIn(List<Short> values) {
            addCriterion("TID not in", values, "tid");
            return (Criteria) this;
        }

        public Criteria andTidBetween(Short value1, Short value2) {
            addCriterion("TID between", value1, value2, "tid");
            return (Criteria) this;
        }

        public Criteria andTidNotBetween(Short value1, Short value2) {
            addCriterion("TID not between", value1, value2, "tid");
            return (Criteria) this;
        }

        public Criteria andRecorddateIsNull() {
            addCriterion("RECORDDATE is null");
            return (Criteria) this;
        }

        public Criteria andRecorddateIsNotNull() {
            addCriterion("RECORDDATE is not null");
            return (Criteria) this;
        }

        public Criteria andRecorddateEqualTo(Date value) {
            addCriterion("RECORDDATE =", value, "recorddate");
            return (Criteria) this;
        }

        public Criteria andRecorddateNotEqualTo(Date value) {
            addCriterion("RECORDDATE <>", value, "recorddate");
            return (Criteria) this;
        }

        public Criteria andRecorddateGreaterThan(Date value) {
            addCriterion("RECORDDATE >", value, "recorddate");
            return (Criteria) this;
        }

        public Criteria andRecorddateGreaterThanOrEqualTo(Date value) {
            addCriterion("RECORDDATE >=", value, "recorddate");
            return (Criteria) this;
        }

        public Criteria andRecorddateLessThan(Date value) {
            addCriterion("RECORDDATE <", value, "recorddate");
            return (Criteria) this;
        }

        public Criteria andRecorddateLessThanOrEqualTo(Date value) {
            addCriterion("RECORDDATE <=", value, "recorddate");
            return (Criteria) this;
        }

        public Criteria andRecorddateIn(List<Date> values) {
            addCriterion("RECORDDATE in", values, "recorddate");
            return (Criteria) this;
        }

        public Criteria andRecorddateNotIn(List<Date> values) {
            addCriterion("RECORDDATE not in", values, "recorddate");
            return (Criteria) this;
        }

        public Criteria andRecorddateBetween(Date value1, Date value2) {
            addCriterion("RECORDDATE between", value1, value2, "recorddate");
            return (Criteria) this;
        }

        public Criteria andRecorddateNotBetween(Date value1, Date value2) {
            addCriterion("RECORDDATE not between", value1, value2, "recorddate");
            return (Criteria) this;
        }

        public Criteria andWpidIsNull() {
            addCriterion("WPID is null");
            return (Criteria) this;
        }

        public Criteria andWpidIsNotNull() {
            addCriterion("WPID is not null");
            return (Criteria) this;
        }

        public Criteria andWpidEqualTo(String value) {
            addCriterion("WPID =", value, "wpid");
            return (Criteria) this;
        }

        public Criteria andWpidNotEqualTo(String value) {
            addCriterion("WPID <>", value, "wpid");
            return (Criteria) this;
        }

        public Criteria andWpidGreaterThan(String value) {
            addCriterion("WPID >", value, "wpid");
            return (Criteria) this;
        }

        public Criteria andWpidGreaterThanOrEqualTo(String value) {
            addCriterion("WPID >=", value, "wpid");
            return (Criteria) this;
        }

        public Criteria andWpidLessThan(String value) {
            addCriterion("WPID <", value, "wpid");
            return (Criteria) this;
        }

        public Criteria andWpidLessThanOrEqualTo(String value) {
            addCriterion("WPID <=", value, "wpid");
            return (Criteria) this;
        }

        public Criteria andWpidLike(String value) {
            addCriterion("WPID like", value, "wpid");
            return (Criteria) this;
        }

        public Criteria andWpidNotLike(String value) {
            addCriterion("WPID not like", value, "wpid");
            return (Criteria) this;
        }

        public Criteria andWpidIn(List<String> values) {
            addCriterion("WPID in", values, "wpid");
            return (Criteria) this;
        }

        public Criteria andWpidNotIn(List<String> values) {
            addCriterion("WPID not in", values, "wpid");
            return (Criteria) this;
        }

        public Criteria andWpidBetween(String value1, String value2) {
            addCriterion("WPID between", value1, value2, "wpid");
            return (Criteria) this;
        }

        public Criteria andWpidNotBetween(String value1, String value2) {
            addCriterion("WPID not between", value1, value2, "wpid");
            return (Criteria) this;
        }

        public Criteria andMeteridIsNull() {
            addCriterion("METERID is null");
            return (Criteria) this;
        }

        public Criteria andMeteridIsNotNull() {
            addCriterion("METERID is not null");
            return (Criteria) this;
        }

        public Criteria andMeteridEqualTo(String value) {
            addCriterion("METERID =", value, "meterid");
            return (Criteria) this;
        }

        public Criteria andMeteridNotEqualTo(String value) {
            addCriterion("METERID <>", value, "meterid");
            return (Criteria) this;
        }

        public Criteria andMeteridGreaterThan(String value) {
            addCriterion("METERID >", value, "meterid");
            return (Criteria) this;
        }

        public Criteria andMeteridGreaterThanOrEqualTo(String value) {
            addCriterion("METERID >=", value, "meterid");
            return (Criteria) this;
        }

        public Criteria andMeteridLessThan(String value) {
            addCriterion("METERID <", value, "meterid");
            return (Criteria) this;
        }

        public Criteria andMeteridLessThanOrEqualTo(String value) {
            addCriterion("METERID <=", value, "meterid");
            return (Criteria) this;
        }

        public Criteria andMeteridLike(String value) {
            addCriterion("METERID like", value, "meterid");
            return (Criteria) this;
        }

        public Criteria andMeteridNotLike(String value) {
            addCriterion("METERID not like", value, "meterid");
            return (Criteria) this;
        }

        public Criteria andMeteridIn(List<String> values) {
            addCriterion("METERID in", values, "meterid");
            return (Criteria) this;
        }

        public Criteria andMeteridNotIn(List<String> values) {
            addCriterion("METERID not in", values, "meterid");
            return (Criteria) this;
        }

        public Criteria andMeteridBetween(String value1, String value2) {
            addCriterion("METERID between", value1, value2, "meterid");
            return (Criteria) this;
        }

        public Criteria andMeteridNotBetween(String value1, String value2) {
            addCriterion("METERID not between", value1, value2, "meterid");
            return (Criteria) this;
        }

        public Criteria andMeternameIsNull() {
            addCriterion("METERNAME is null");
            return (Criteria) this;
        }

        public Criteria andMeternameIsNotNull() {
            addCriterion("METERNAME is not null");
            return (Criteria) this;
        }

        public Criteria andMeternameEqualTo(String value) {
            addCriterion("METERNAME =", value, "metername");
            return (Criteria) this;
        }

        public Criteria andMeternameNotEqualTo(String value) {
            addCriterion("METERNAME <>", value, "metername");
            return (Criteria) this;
        }

        public Criteria andMeternameGreaterThan(String value) {
            addCriterion("METERNAME >", value, "metername");
            return (Criteria) this;
        }

        public Criteria andMeternameGreaterThanOrEqualTo(String value) {
            addCriterion("METERNAME >=", value, "metername");
            return (Criteria) this;
        }

        public Criteria andMeternameLessThan(String value) {
            addCriterion("METERNAME <", value, "metername");
            return (Criteria) this;
        }

        public Criteria andMeternameLessThanOrEqualTo(String value) {
            addCriterion("METERNAME <=", value, "metername");
            return (Criteria) this;
        }

        public Criteria andMeternameLike(String value) {
            addCriterion("METERNAME like", value, "metername");
            return (Criteria) this;
        }

        public Criteria andMeternameNotLike(String value) {
            addCriterion("METERNAME not like", value, "metername");
            return (Criteria) this;
        }

        public Criteria andMeternameIn(List<String> values) {
            addCriterion("METERNAME in", values, "metername");
            return (Criteria) this;
        }

        public Criteria andMeternameNotIn(List<String> values) {
            addCriterion("METERNAME not in", values, "metername");
            return (Criteria) this;
        }

        public Criteria andMeternameBetween(String value1, String value2) {
            addCriterion("METERNAME between", value1, value2, "metername");
            return (Criteria) this;
        }

        public Criteria andMeternameNotBetween(String value1, String value2) {
            addCriterion("METERNAME not between", value1, value2, "metername");
            return (Criteria) this;
        }

        public Criteria andStopcodeIsNull() {
            addCriterion("STOPCODE is null");
            return (Criteria) this;
        }

        public Criteria andStopcodeIsNotNull() {
            addCriterion("STOPCODE is not null");
            return (Criteria) this;
        }

        public Criteria andStopcodeEqualTo(BigDecimal value) {
            addCriterion("STOPCODE =", value, "stopcode");
            return (Criteria) this;
        }

        public Criteria andStopcodeNotEqualTo(BigDecimal value) {
            addCriterion("STOPCODE <>", value, "stopcode");
            return (Criteria) this;
        }

        public Criteria andStopcodeGreaterThan(BigDecimal value) {
            addCriterion("STOPCODE >", value, "stopcode");
            return (Criteria) this;
        }

        public Criteria andStopcodeGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("STOPCODE >=", value, "stopcode");
            return (Criteria) this;
        }

        public Criteria andStopcodeLessThan(BigDecimal value) {
            addCriterion("STOPCODE <", value, "stopcode");
            return (Criteria) this;
        }

        public Criteria andStopcodeLessThanOrEqualTo(BigDecimal value) {
            addCriterion("STOPCODE <=", value, "stopcode");
            return (Criteria) this;
        }

        public Criteria andStopcodeIn(List<BigDecimal> values) {
            addCriterion("STOPCODE in", values, "stopcode");
            return (Criteria) this;
        }

        public Criteria andStopcodeNotIn(List<BigDecimal> values) {
            addCriterion("STOPCODE not in", values, "stopcode");
            return (Criteria) this;
        }

        public Criteria andStopcodeBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("STOPCODE between", value1, value2, "stopcode");
            return (Criteria) this;
        }

        public Criteria andStopcodeNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("STOPCODE not between", value1, value2, "stopcode");
            return (Criteria) this;
        }

        public Criteria andStopcodemodifyIsNull() {
            addCriterion("STOPCODEMODIFY is null");
            return (Criteria) this;
        }

        public Criteria andStopcodemodifyIsNotNull() {
            addCriterion("STOPCODEMODIFY is not null");
            return (Criteria) this;
        }

        public Criteria andStopcodemodifyEqualTo(BigDecimal value) {
            addCriterion("STOPCODEMODIFY =", value, "stopcodemodify");
            return (Criteria) this;
        }

        public Criteria andStopcodemodifyNotEqualTo(BigDecimal value) {
            addCriterion("STOPCODEMODIFY <>", value, "stopcodemodify");
            return (Criteria) this;
        }

        public Criteria andStopcodemodifyGreaterThan(BigDecimal value) {
            addCriterion("STOPCODEMODIFY >", value, "stopcodemodify");
            return (Criteria) this;
        }

        public Criteria andStopcodemodifyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("STOPCODEMODIFY >=", value, "stopcodemodify");
            return (Criteria) this;
        }

        public Criteria andStopcodemodifyLessThan(BigDecimal value) {
            addCriterion("STOPCODEMODIFY <", value, "stopcodemodify");
            return (Criteria) this;
        }

        public Criteria andStopcodemodifyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("STOPCODEMODIFY <=", value, "stopcodemodify");
            return (Criteria) this;
        }

        public Criteria andStopcodemodifyIn(List<BigDecimal> values) {
            addCriterion("STOPCODEMODIFY in", values, "stopcodemodify");
            return (Criteria) this;
        }

        public Criteria andStopcodemodifyNotIn(List<BigDecimal> values) {
            addCriterion("STOPCODEMODIFY not in", values, "stopcodemodify");
            return (Criteria) this;
        }

        public Criteria andStopcodemodifyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("STOPCODEMODIFY between", value1, value2, "stopcodemodify");
            return (Criteria) this;
        }

        public Criteria andStopcodemodifyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("STOPCODEMODIFY not between", value1, value2, "stopcodemodify");
            return (Criteria) this;
        }

        public Criteria andDayvalueIsNull() {
            addCriterion("DAYVALUE is null");
            return (Criteria) this;
        }

        public Criteria andDayvalueIsNotNull() {
            addCriterion("DAYVALUE is not null");
            return (Criteria) this;
        }

        public Criteria andDayvalueEqualTo(BigDecimal value) {
            addCriterion("DAYVALUE =", value, "dayvalue");
            return (Criteria) this;
        }

        public Criteria andDayvalueNotEqualTo(BigDecimal value) {
            addCriterion("DAYVALUE <>", value, "dayvalue");
            return (Criteria) this;
        }

        public Criteria andDayvalueGreaterThan(BigDecimal value) {
            addCriterion("DAYVALUE >", value, "dayvalue");
            return (Criteria) this;
        }

        public Criteria andDayvalueGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("DAYVALUE >=", value, "dayvalue");
            return (Criteria) this;
        }

        public Criteria andDayvalueLessThan(BigDecimal value) {
            addCriterion("DAYVALUE <", value, "dayvalue");
            return (Criteria) this;
        }

        public Criteria andDayvalueLessThanOrEqualTo(BigDecimal value) {
            addCriterion("DAYVALUE <=", value, "dayvalue");
            return (Criteria) this;
        }

        public Criteria andDayvalueIn(List<BigDecimal> values) {
            addCriterion("DAYVALUE in", values, "dayvalue");
            return (Criteria) this;
        }

        public Criteria andDayvalueNotIn(List<BigDecimal> values) {
            addCriterion("DAYVALUE not in", values, "dayvalue");
            return (Criteria) this;
        }

        public Criteria andDayvalueBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("DAYVALUE between", value1, value2, "dayvalue");
            return (Criteria) this;
        }

        public Criteria andDayvalueNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("DAYVALUE not between", value1, value2, "dayvalue");
            return (Criteria) this;
        }

        public Criteria andDayvaluemodifyIsNull() {
            addCriterion("DAYVALUEMODIFY is null");
            return (Criteria) this;
        }

        public Criteria andDayvaluemodifyIsNotNull() {
            addCriterion("DAYVALUEMODIFY is not null");
            return (Criteria) this;
        }

        public Criteria andDayvaluemodifyEqualTo(BigDecimal value) {
            addCriterion("DAYVALUEMODIFY =", value, "dayvaluemodify");
            return (Criteria) this;
        }

        public Criteria andDayvaluemodifyNotEqualTo(BigDecimal value) {
            addCriterion("DAYVALUEMODIFY <>", value, "dayvaluemodify");
            return (Criteria) this;
        }

        public Criteria andDayvaluemodifyGreaterThan(BigDecimal value) {
            addCriterion("DAYVALUEMODIFY >", value, "dayvaluemodify");
            return (Criteria) this;
        }

        public Criteria andDayvaluemodifyGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("DAYVALUEMODIFY >=", value, "dayvaluemodify");
            return (Criteria) this;
        }

        public Criteria andDayvaluemodifyLessThan(BigDecimal value) {
            addCriterion("DAYVALUEMODIFY <", value, "dayvaluemodify");
            return (Criteria) this;
        }

        public Criteria andDayvaluemodifyLessThanOrEqualTo(BigDecimal value) {
            addCriterion("DAYVALUEMODIFY <=", value, "dayvaluemodify");
            return (Criteria) this;
        }

        public Criteria andDayvaluemodifyIn(List<BigDecimal> values) {
            addCriterion("DAYVALUEMODIFY in", values, "dayvaluemodify");
            return (Criteria) this;
        }

        public Criteria andDayvaluemodifyNotIn(List<BigDecimal> values) {
            addCriterion("DAYVALUEMODIFY not in", values, "dayvaluemodify");
            return (Criteria) this;
        }

        public Criteria andDayvaluemodifyBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("DAYVALUEMODIFY between", value1, value2, "dayvaluemodify");
            return (Criteria) this;
        }

        public Criteria andDayvaluemodifyNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("DAYVALUEMODIFY not between", value1, value2, "dayvaluemodify");
            return (Criteria) this;
        }
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table ANALYSISSUBTABLEBOTTOM
     *
     * @mbg.generated do_not_delete_during_merge
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table ANALYSISSUBTABLEBOTTOM
     *
     * @mbg.generated
     */
    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);
        }
    }
}