package xyz.wbsite.module.admin.req;

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

/**
 * ServicesFindRequest - 虚拟主机查询
 *
 * @author wangbing
 * @version 0.0.1
 * @since 2021-02-07
 */
public class ServicesFindRequest extends BaseFindRequest {

    /**
     * 主机标题.
     */
    private String title;

    /**
     * 主机标题模糊查询.
     */
    private String titleLike;

    /**
     * 主机域名.
     */
    private String domain;

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

    /**
     * 服务端口.
     */
    private Integer port;

    /**
     * 是否启用.
     */
    private Boolean valid;

    /**
     * 启用过滤.
     */
    private Boolean filter;

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

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

    public String getTitle() {
        return this.title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getTitleLike() {
        return this.titleLike;
    }

    public void setTitleLike(String titleLike) {
        this.titleLike = titleLike;
    }

    public String getDomain() {
        return this.domain;
    }

    public void setDomain(String domain) {
        this.domain = domain;
    }

    public String getType() {
        return this.type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public Integer getPort() {
        return this.port;
    }

    public void setPort(Integer port) {
        this.port = port;
    }

    public Boolean getValid() {
        return this.valid;
    }

    public void setValid(Boolean valid) {
        this.valid = valid;
    }

    public Boolean getFilter() {
        return this.filter;
    }

    public void setFilter(Boolean filter) {
        this.filter = filter;
    }

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