package com.usky.rule.vo;

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

@ApiModel
public class RuleEngineDeviceVO implements Serializable {
    private static final long serialVersionUID = -27408106462252992L;
    @ApiModelProperty("自增ID")
    private Long id;
    @ApiModelProperty("设备ID")
    private String deviceId;
    @ApiModelProperty("设备UUID")
    private String deviceUuid;
    @ApiModelProperty("标识符")
    private String identifier;
    @ApiModelProperty("规则引擎ID")
    private Long ruleEngineId;
    @ApiModelProperty("产品ID")
    private Long productId;
    @ApiModelProperty("更新人")
    private Long updatedBy;
    @ApiModelProperty("记录更新时间")
    private String updateTime;
    @ApiModelProperty("创建人")
    private Long createdBy;
    @ApiModelProperty("记录创建时间")
    private String createTime;

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

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

    public String getDeviceId() {
        return this.deviceId;
    }

    public String getDeviceUuid() {
        return this.deviceUuid;
    }

    public String getIdentifier() {
        return this.identifier;
    }

    public Long getRuleEngineId() {
        return this.ruleEngineId;
    }

    public Long getProductId() {
        return this.productId;
    }

    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 void setId(final Long id) {
        this.id = id;
    }

    public void setDeviceId(final String deviceId) {
        this.deviceId = deviceId;
    }

    public void setDeviceUuid(final String deviceUuid) {
        this.deviceUuid = deviceUuid;
    }

    public void setIdentifier(final String identifier) {
        this.identifier = identifier;
    }

    public void setRuleEngineId(final Long ruleEngineId) {
        this.ruleEngineId = ruleEngineId;
    }

    public void setProductId(final Long productId) {
        this.productId = productId;
    }

    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 boolean equals(final Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof RuleEngineDeviceVO)) {
            return false;
        } else {
            RuleEngineDeviceVO other = (RuleEngineDeviceVO)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$ruleEngineId = this.getRuleEngineId();
                Object other$ruleEngineId = other.getRuleEngineId();
                if (this$ruleEngineId == null) {
                    if (other$ruleEngineId != null) {
                        return false;
                    }
                } else if (!this$ruleEngineId.equals(other$ruleEngineId)) {
                    return false;
                }

                Object this$productId = this.getProductId();
                Object other$productId = other.getProductId();
                if (this$productId == null) {
                    if (other$productId != null) {
                        return false;
                    }
                } else if (!this$productId.equals(other$productId)) {
                    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$deviceId = this.getDeviceId();
                Object other$deviceId = other.getDeviceId();
                if (this$deviceId == null) {
                    if (other$deviceId != null) {
                        return false;
                    }
                } else if (!this$deviceId.equals(other$deviceId)) {
                    return false;
                }

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

                Object this$identifier = this.getIdentifier();
                Object other$identifier = other.getIdentifier();
                if (this$identifier == null) {
                    if (other$identifier != null) {
                        return false;
                    }
                } else if (!this$identifier.equals(other$identifier)) {
                    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;
                }

                return true;
            }
        }
    }

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

    public int hashCode() {
        int PRIME = 59;
        int result = 1;
        Object $id = this.getId();
        result = result * 59 + ($id == null ? 43 : $id.hashCode());
        Object $ruleEngineId = this.getRuleEngineId();
        result = result * 59 + ($ruleEngineId == null ? 43 : $ruleEngineId.hashCode());
        Object $productId = this.getProductId();
        result = result * 59 + ($productId == null ? 43 : $productId.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 $deviceId = this.getDeviceId();
        result = result * 59 + ($deviceId == null ? 43 : $deviceId.hashCode());
        Object $deviceUuid = this.getDeviceUuid();
        result = result * 59 + ($deviceUuid == null ? 43 : $deviceUuid.hashCode());
        Object $identifier = this.getIdentifier();
        result = result * 59 + ($identifier == null ? 43 : $identifier.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());
        return result;
    }

    public String toString() {
        return "RuleEngineDeviceVO(id=" + this.getId() + ", deviceId=" + this.getDeviceId() + ", deviceUuid=" + this.getDeviceUuid() + ", identifier=" + this.getIdentifier() + ", ruleEngineId=" + this.getRuleEngineId() + ", productId=" + this.getProductId() + ", updatedBy=" + this.getUpdatedBy() + ", updateTime=" + this.getUpdateTime() + ", createdBy=" + this.getCreatedBy() + ", createTime=" + this.getCreateTime() + ")";
    }

    public RuleEngineDeviceVO(final Long id, final String deviceId, final String deviceUuid, final String identifier, final Long ruleEngineId, final Long productId, final Long updatedBy, final String updateTime, final Long createdBy, final String createTime) {
        this.id = id;
        this.deviceId = deviceId;
        this.deviceUuid = deviceUuid;
        this.identifier = identifier;
        this.ruleEngineId = ruleEngineId;
        this.productId = productId;
        this.updatedBy = updatedBy;
        this.updateTime = updateTime;
        this.createdBy = createdBy;
        this.createTime = createTime;
    }

    public RuleEngineDeviceVO() {
    }

    public static class RuleEngineDeviceVOBuilder {
        private Long id;
        private String deviceId;
        private String deviceUuid;
        private String identifier;
        private Long ruleEngineId;
        private Long productId;
        private Long updatedBy;
        private String updateTime;
        private Long createdBy;
        private String createTime;

        RuleEngineDeviceVOBuilder() {
        }

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

        public RuleEngineDeviceVOBuilder deviceId(final String deviceId) {
            this.deviceId = deviceId;
            return this;
        }

        public RuleEngineDeviceVOBuilder deviceUuid(final String deviceUuid) {
            this.deviceUuid = deviceUuid;
            return this;
        }

        public RuleEngineDeviceVOBuilder identifier(final String identifier) {
            this.identifier = identifier;
            return this;
        }

        public RuleEngineDeviceVOBuilder ruleEngineId(final Long ruleEngineId) {
            this.ruleEngineId = ruleEngineId;
            return this;
        }

        public RuleEngineDeviceVOBuilder productId(final Long productId) {
            this.productId = productId;
            return this;
        }

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

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

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

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

        public RuleEngineDeviceVO build() {
            return new RuleEngineDeviceVO(this.id, this.deviceId, this.deviceUuid, this.identifier, this.ruleEngineId, this.productId, this.updatedBy, this.updateTime, this.createdBy, this.createTime);
        }

        public String toString() {
            return "RuleEngineDeviceVO.RuleEngineDeviceVOBuilder(id=" + this.id + ", deviceId=" + this.deviceId + ", deviceUuid=" + this.deviceUuid + ", identifier=" + this.identifier + ", ruleEngineId=" + this.ruleEngineId + ", productId=" + this.productId + ", updatedBy=" + this.updatedBy + ", updateTime=" + this.updateTime + ", createdBy=" + this.createdBy + ", createTime=" + this.createTime + ")";
        }
    }
}
