package com.usky.rule.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;

@ApiModel
public class RuleEngineVO implements Serializable {
    private static final long serialVersionUID = 212526303386371052L;
    @ApiModelProperty("自增ID")
    private Long id;
    @ApiModelProperty("项目ID")
    private Long projectId;
    @ApiModelProperty("名称")
    private String name;
    @ApiModelProperty("空间ID")
    private Long spaceId;
    @ApiModelProperty("规则状态 1：启用 0：停用")
    private Short status;
    @ApiModelProperty("规则描述")
    private String descr;
    @ApiModelProperty("规则详情")
    private String detail;
    @ApiModelProperty("更新人")
    private Long updatedBy;
    @ApiModelProperty("记录更新时间")
    private String updateTime;
    @ApiModelProperty("创建人")
    private Long createdBy;
    @ApiModelProperty("记录创建时间")
    private String createTime;
    @ApiModelProperty("空间名称")
    private String spaceName;

    public static RuleEngineVOBuilder builder() {
        return new RuleEngineVOBuilder();
    }

    public Long getId() {
        return this.id;
    }

    public Long getProjectId() {
        return this.projectId;
    }

    public String getName() {
        return this.name;
    }

    public Long getSpaceId() {
        return this.spaceId;
    }

    public Short getStatus() {
        return this.status;
    }

    public String getDescr() {
        return this.descr;
    }

    public String getDetail() {
        return this.detail;
    }

    public Long getUpdatedBy() {
        return this.updatedBy;
    }

    public String getUpdateTime() {
        return this.updateTime;
    }

    public Long getCreatedBy() {
        return this.createdBy;
    }

    public String getCreateTime() {
        return this.createTime;
    }

    public String getSpaceName() {
        return this.spaceName;
    }

    public void setId(final Long id) {
        this.id = id;
    }

    public void setProjectId(final Long projectId) {
        this.projectId = projectId;
    }

    public void setName(final String name) {
        this.name = name;
    }

    public void setSpaceId(final Long spaceId) {
        this.spaceId = spaceId;
    }

    public void setStatus(final Short status) {
        this.status = status;
    }

    public void setDescr(final String descr) {
        this.descr = descr;
    }

    public void setDetail(final String detail) {
        this.detail = detail;
    }

    public void setUpdatedBy(final Long updatedBy) {
        this.updatedBy = updatedBy;
    }

    public void setUpdateTime(final String updateTime) {
        this.updateTime = updateTime;
    }

    public void setCreatedBy(final Long createdBy) {
        this.createdBy = createdBy;
    }

    public void setCreateTime(final String createTime) {
        this.createTime = createTime;
    }

    public void setSpaceName(final String spaceName) {
        this.spaceName = spaceName;
    }

    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof RuleEngineVO)) {
            return false;
        } else {
            RuleEngineVO other = (RuleEngineVO)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                Object this$id = this.getId();
                Object other$id = other.getId();
                if (this$id == null) {
                    if (other$id != null) {
                        return false;
                    }
                } else if (!this$id.equals(other$id)) {
                    return false;
                }

                Object this$projectId = this.getProjectId();
                Object other$projectId = other.getProjectId();
                if (this$projectId == null) {
                    if (other$projectId != null) {
                        return false;
                    }
                } else if (!this$projectId.equals(other$projectId)) {
                    return false;
                }

                Object this$spaceId = this.getSpaceId();
                Object other$spaceId = other.getSpaceId();
                if (this$spaceId == null) {
                    if (other$spaceId != null) {
                        return false;
                    }
                } else if (!this$spaceId.equals(other$spaceId)) {
                    return false;
                }

                Object this$status = this.getStatus();
                Object other$status = other.getStatus();
                if (this$status == null) {
                    if (other$status != null) {
                        return false;
                    }
                } else if (!this$status.equals(other$status)) {
                    return false;
                }

                Object this$updatedBy = this.getUpdatedBy();
                Object other$updatedBy = other.getUpdatedBy();
                if (this$updatedBy == null) {
                    if (other$updatedBy != null) {
                        return false;
                    }
                } else if (!this$updatedBy.equals(other$updatedBy)) {
                    return false;
                }

                Object this$createdBy = this.getCreatedBy();
                Object other$createdBy = other.getCreatedBy();
                if (this$createdBy == null) {
                    if (other$createdBy != null) {
                        return false;
                    }
                } else if (!this$createdBy.equals(other$createdBy)) {
                    return false;
                }

                Object this$name = this.getName();
                Object other$name = other.getName();
                if (this$name == null) {
                    if (other$name != null) {
                        return false;
                    }
                } else if (!this$name.equals(other$name)) {
                    return false;
                }

                Object this$descr = this.getDescr();
                Object other$descr = other.getDescr();
                if (this$descr == null) {
                    if (other$descr != null) {
                        return false;
                    }
                } else if (!this$descr.equals(other$descr)) {
                    return false;
                }

                Object this$detail = this.getDetail();
                Object other$detail = other.getDetail();
                if (this$detail == null) {
                    if (other$detail != null) {
                        return false;
                    }
                } else if (!this$detail.equals(other$detail)) {
                    return false;
                }

                Object this$updateTime = this.getUpdateTime();
                Object other$updateTime = other.getUpdateTime();
                if (this$updateTime == null) {
                    if (other$updateTime != null) {
                        return false;
                    }
                } else if (!this$updateTime.equals(other$updateTime)) {
                    return false;
                }

                Object this$createTime = this.getCreateTime();
                Object other$createTime = other.getCreateTime();
                if (this$createTime == null) {
                    if (other$createTime != null) {
                        return false;
                    }
                } else if (!this$createTime.equals(other$createTime)) {
                    return false;
                }

                Object this$spaceName = this.getSpaceName();
                Object other$spaceName = other.getSpaceName();
                if (this$spaceName == null) {
                    if (other$spaceName != null) {
                        return false;
                    }
                } else if (!this$spaceName.equals(other$spaceName)) {
                    return false;
                }

                return true;
            }
        }
    }

    protected boolean canEqual(final Object other) {
        return other instanceof RuleEngineVO;
    }

    public int hashCode() {
        int PRIME = 59;
        int result = 1;
        Object $id = this.getId();
        result = result * 59 + ($id == null ? 43 : $id.hashCode());
        Object $projectId = this.getProjectId();
        result = result * 59 + ($projectId == null ? 43 : $projectId.hashCode());
        Object $spaceId = this.getSpaceId();
        result = result * 59 + ($spaceId == null ? 43 : $spaceId.hashCode());
        Object $status = this.getStatus();
        result = result * 59 + ($status == null ? 43 : $status.hashCode());
        Object $updatedBy = this.getUpdatedBy();
        result = result * 59 + ($updatedBy == null ? 43 : $updatedBy.hashCode());
        Object $createdBy = this.getCreatedBy();
        result = result * 59 + ($createdBy == null ? 43 : $createdBy.hashCode());
        Object $name = this.getName();
        result = result * 59 + ($name == null ? 43 : $name.hashCode());
        Object $descr = this.getDescr();
        result = result * 59 + ($descr == null ? 43 : $descr.hashCode());
        Object $detail = this.getDetail();
        result = result * 59 + ($detail == null ? 43 : $detail.hashCode());
        Object $updateTime = this.getUpdateTime();
        result = result * 59 + ($updateTime == null ? 43 : $updateTime.hashCode());
        Object $createTime = this.getCreateTime();
        result = result * 59 + ($createTime == null ? 43 : $createTime.hashCode());
        Object $spaceName = this.getSpaceName();
        result = result * 59 + ($spaceName == null ? 43 : $spaceName.hashCode());
        return result;
    }

    public String toString() {
        return "RuleEngineVO(id=" + this.getId() + ", projectId=" + this.getProjectId() + ", name=" + this.getName() + ", spaceId=" + this.getSpaceId() + ", status=" + this.getStatus() + ", descr=" + this.getDescr() + ", detail=" + this.getDetail() + ", updatedBy=" + this.getUpdatedBy() + ", updateTime=" + this.getUpdateTime() + ", createdBy=" + this.getCreatedBy() + ", createTime=" + this.getCreateTime() + ", spaceName=" + this.getSpaceName() + ")";
    }

    public RuleEngineVO(final Long id, final Long projectId, final String name, final Long spaceId, final Short status, final String descr, final String detail, final Long updatedBy, final String updateTime, final Long createdBy, final String createTime, final String spaceName) {
        this.id = id;
        this.projectId = projectId;
        this.name = name;
        this.spaceId = spaceId;
        this.status = status;
        this.descr = descr;
        this.detail = detail;
        this.updatedBy = updatedBy;
        this.updateTime = updateTime;
        this.createdBy = createdBy;
        this.createTime = createTime;
        this.spaceName = spaceName;
    }

    public RuleEngineVO() {
    }

    public static class RuleEngineVOBuilder {
        private Long id;
        private Long projectId;
        private String name;
        private Long spaceId;
        private Short status;
        private String descr;
        private String detail;
        private Long updatedBy;
        private String updateTime;
        private Long createdBy;
        private String createTime;
        private String spaceName;

        RuleEngineVOBuilder() {
        }

        public RuleEngineVOBuilder id(final Long id) {
            this.id = id;
            return this;
        }

        public RuleEngineVOBuilder projectId(final Long projectId) {
            this.projectId = projectId;
            return this;
        }

        public RuleEngineVOBuilder name(final String name) {
            this.name = name;
            return this;
        }

        public RuleEngineVOBuilder spaceId(final Long spaceId) {
            this.spaceId = spaceId;
            return this;
        }

        public RuleEngineVOBuilder status(final Short status) {
            this.status = status;
            return this;
        }

        public RuleEngineVOBuilder descr(final String descr) {
            this.descr = descr;
            return this;
        }

        public RuleEngineVOBuilder detail(final String detail) {
            this.detail = detail;
            return this;
        }

        public RuleEngineVOBuilder updatedBy(final Long updatedBy) {
            this.updatedBy = updatedBy;
            return this;
        }

        public RuleEngineVOBuilder updateTime(final String updateTime) {
            this.updateTime = updateTime;
            return this;
        }

        public RuleEngineVOBuilder createdBy(final Long createdBy) {
            this.createdBy = createdBy;
            return this;
        }

        public RuleEngineVOBuilder createTime(final String createTime) {
            this.createTime = createTime;
            return this;
        }

        public RuleEngineVOBuilder spaceName(final String spaceName) {
            this.spaceName = spaceName;
            return this;
        }

        public RuleEngineVO build() {
            return new RuleEngineVO(this.id, this.projectId, this.name, this.spaceId, this.status, this.descr, this.detail, this.updatedBy, this.updateTime, this.createdBy, this.createTime, this.spaceName);
        }

        public String toString() {
            return "RuleEngineVO.RuleEngineVOBuilder(id=" + this.id + ", projectId=" + this.projectId + ", name=" + this.name + ", spaceId=" + this.spaceId + ", status=" + this.status + ", descr=" + this.descr + ", detail=" + this.detail + ", updatedBy=" + this.updatedBy + ", updateTime=" + this.updateTime + ", createdBy=" + this.createdBy + ", createTime=" + this.createTime + ", spaceName=" + this.spaceName + ")";
        }
    }
}
