package com.oguerreiro.resilient.service.dto;

import io.swagger.v3.oas.annotations.media.Schema;

/**
 * A DTO for the {@link com.oguerreiro.resilient.domain.VariableUnits} entity.
 */
@Schema(description = "Variable allowed input units. Also defines the converters needed if the")
public class VariableUnitsDTO extends AbstractResilientDTO<Long> {
  private static final long serialVersionUID = 1L;

  private VariableDTO variable;

  private UnitDTO unit;

  private UnitConverterDTO unitConverter;

  public VariableDTO getVariable() {
    return variable;
  }

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

  public UnitDTO getUnit() {
    return unit;
  }

  public void setUnit(UnitDTO unit) {
    this.unit = unit;
  }

  public UnitConverterDTO getUnitConverter() {
    return unitConverter;
  }

  public void setUnitConverter(UnitConverterDTO unitConverter) {
    this.unitConverter = unitConverter;
  }

  //@formatter:off
  @Override
  public String toString() {
    return "VariableUnitsDTO{" +
              "id=" + getId() +
              ", variable=" + getVariable() +
              ", unit=" + getUnit() +
              ", unitConverter=" + getUnitConverter() +
              ", version=" + getVersion() +
           "}";
  }
  //@formatter:on
}
