package de.ivu.elect.interfaces.core;

import java.io.Serializable;
import java.util.Objects;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;

@XmlAccessorType(XmlAccessType.FIELD)
public class EntschaedigungsArtReferenz implements Serializable {

  private static final long serialVersionUID = 1L;

  /**
   * HINT: Es gibt keinen eindeutigen fachlichen Schlüssel. In der Datenbank gibt's keinen Unique Index auf
   * Entschaedigungsart. Der EntschaedigungsartTK ist zwar im Takatuka konfiguriert, wird aber in der
   * Geschäftslogik nirgends durchgesetzt. Tatsächlich
   *
   * Uns bleibt hier also nur, innerhalb der Datei eine technische ID zu verwenden.
   */
  @XmlElement(required = false) private Long id;

  public Long getId() {
    return id;
  }

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

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

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

  @Override
  public String toString() {
    return "EntschaedigungsArtReferenz{" + "id=" + id + '}';
  }
}
