package <%=packageName%>.service.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import <%= javaVersion === '17' ? 'jakarta' : 'javax'%>.validation.constraints.*;
import java.io.Serializable;
import java.util.Objects;
import <%= javaVersion === '17' ? 'jakarta' : 'javax'%>.persistence.Lob;

// jhipster-needle-add-import - JHipster will add getters and setters here, do not remove


/**
 * A DTO for the {@link <%=packageName%>.domain.BigScreenConfig} entity.
 */
@ApiModel(description = "可视化配置表")
public class BigScreenConfigDTO implements Serializable {

    private Long id;

    /**
     * 配置json
     */
    @Size(max = 255)
    @ApiModelProperty(value = "配置json")
    private String detail;

    /**
     * 组件json
     */
    @ApiModelProperty(value = "组件json")
    @Lob
    private String component;

    private BigScreenDTO bigScreen;

    // jhipster-needle-dto-add-field - JHipster will add fields here, do not remove
    public Long getId() {
        return id;
    }

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

    public String getDetail() {
        return detail;
    }

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

    public String getComponent() {
        return component;
    }

    public void setComponent(String component) {
        this.component = component;
    }

    public BigScreenDTO getBigScreen() {
        return bigScreen;
    }

    public void setBigScreen(BigScreenDTO bigScreen) {
        this.bigScreen = bigScreen;
    }

// jhipster-needle-dto-add-getters-setters - JHipster will add getters and setters here, do not remove

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }

        BigScreenConfigDTO bigScreenConfigDTO = (BigScreenConfigDTO) o;
        if (bigScreenConfigDTO.getId() == null || getId() == null) {
            return false;
        }
        return Objects.equals(getId(), bigScreenConfigDTO.getId());
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(getId());
    }

    @Override
    public String toString() {
        return "BigScreenConfigDTO{" +
            "id=" + getId() +
            ", detail='" + getDetail() + "'" +
            ", componentJson='" + getComponent() + "'" +
            ", bigScreen=" + getBigScreen() +
            "}";
    }
}
