package xyz.wbsite.module.admin.req;

import xyz.wbsite.frame.base.BaseFindRequest;
import java.util.Date;
import xyz.wbsite.frame.validation.Select;

/**
 * RulesFindRequest - 配置规则查询
 *
 * @author wangbing
 * @version 0.0.1
 * @since 2021-02-09
 */
public class RulesFindRequest extends BaseFindRequest {

    /**
     * 规则目标.
     * 全局:全局
     * 主机:主机
     * 路径:路径
     */
    @Select({"全局", "主机", "路径"})
    private String ruleFor;

    /**
     * 规则类型.
     * 反向代理:反向代理
     * 负载均衡:负载均衡
     * 正向代理:正向代理
     * 文件代理:文件代理
     * 端口转发:端口转发
     */
    @Select({"反向代理", "负载均衡", "正向代理", "文件代理", "端口转发"})
    private String ruleType;

    /**
     * 规则标题.
     */
    private String ruleTitle;

    /**
     * 规则标题模糊查询.
     */
    private String ruleTitleLike;

    /**
     * 规则名称.
     */
    private String ruleName;

    /**
     * 规则名称模糊查询.
     */
    private String ruleNameLike;

    /**
     * 规则属值.
     */
    private String ruleValue;

    /**
     * 规则属值模糊查询.
     */
    private String ruleValueLike;

    /**
     * 默认属值.
     */
    private String valueDefault;

    /**
     * 属值正则.
     */
    private String valueRegex;

    /**
     * 规则描述模糊查询.
     */
    private String ruleNoteLike;

    /**
     * 开始日期.
     */
    private Date startDate;

    /**
     * 结束日期.
     */
    private Date endDate;

    public String getRuleFor() {
        return this.ruleFor;
    }

    public void setRuleFor(String ruleFor) {
        this.ruleFor = ruleFor;
    }

    public String getRuleType() {
        return this.ruleType;
    }

    public void setRuleType(String ruleType) {
        this.ruleType = ruleType;
    }

    public String getRuleTitle() {
        return this.ruleTitle;
    }

    public void setRuleTitle(String ruleTitle) {
        this.ruleTitle = ruleTitle;
    }

    public String getRuleTitleLike() {
        return this.ruleTitleLike;
    }

    public void setRuleTitleLike(String ruleTitleLike) {
        this.ruleTitleLike = ruleTitleLike;
    }

    public String getRuleName() {
        return this.ruleName;
    }

    public void setRuleName(String ruleName) {
        this.ruleName = ruleName;
    }

    public String getRuleNameLike() {
        return this.ruleNameLike;
    }

    public void setRuleNameLike(String ruleNameLike) {
        this.ruleNameLike = ruleNameLike;
    }

    public String getRuleValue() {
        return this.ruleValue;
    }

    public void setRuleValue(String ruleValue) {
        this.ruleValue = ruleValue;
    }

    public String getRuleValueLike() {
        return this.ruleValueLike;
    }

    public void setRuleValueLike(String ruleValueLike) {
        this.ruleValueLike = ruleValueLike;
    }

    public String getValueDefault() {
        return this.valueDefault;
    }

    public void setValueDefault(String valueDefault) {
        this.valueDefault = valueDefault;
    }

    public String getValueRegex() {
        return this.valueRegex;
    }

    public void setValueRegex(String valueRegex) {
        this.valueRegex = valueRegex;
    }

    public String getRuleNoteLike() {
        return this.ruleNoteLike;
    }

    public void setRuleNoteLike(String ruleNoteLike) {
        this.ruleNoteLike = ruleNoteLike;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }
}
