package com.oguerreiro.resilient.service.dto;

import com.oguerreiro.resilient.domain.DashboardComponent;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;

/**
 * A DTO for the {@link com.oguerreiro.resilient.domain.DashboardComponent} entity.
 */
@Schema(description = "DashboardComponentDetail")
public class DashboardComponentDetailDTO extends AbstractResilientDTO<Long> {

  private static final long serialVersionUID = 1L;

  @NotNull
  private String name;

  private String color;

  private String help;

  @NotNull
  private Integer indexOrder;

  private VariableDTO variable;

  private DashboardComponentDTO dashboardComponent;

  private DashboardComponent targetDashboardComponent;

  public String getName() {
    return name;
  }

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

  public String getColor() {
    return color;
  }

  public void setColor(String color) {
    this.color = color;
  }

  public String getHelp() {
    return help;
  }

  public void setHelp(String help) {
    this.help = help;
  }

  public Integer getIndexOrder() {
    return indexOrder;
  }

  public void setIndexOrder(Integer indexOrder) {
    this.indexOrder = indexOrder;
  }

  public VariableDTO getVariable() {
    return variable;
  }

  public void setVariable(VariableDTO variable) {
    this.variable = variable;
  }

  public DashboardComponentDTO getDashboardComponent() {
    return dashboardComponent;
  }

  public void setDashboardComponent(DashboardComponentDTO dashboardComponent) {
    this.dashboardComponent = dashboardComponent;
  }

  public DashboardComponent getTargetDashboardComponent() {
    return targetDashboardComponent;
  }

  public void setTargetDashboardComponent(DashboardComponent targetDashboardComponent) {
    this.targetDashboardComponent = targetDashboardComponent;
  }

  //@formatter:off
  @Override
  public String toString() {
    return "DashboardComponentDetailDTO{" + 
              "id=" + getId() + 
              ", name='" + getName() + "'" +
              ", help='" + getHelp() + "'" +
              ", color='" + getColor() + "'" +
              ", indexOrder='" + getIndexOrder() + "'" + 
              ", version=" + getVersion() + 
           "}";
  }
//@formatter:on
}
