
package de.ivu.elect.was.sitzberechnung.boundary;

import java.util.Objects;

import de.ivu.elect.business.verteilung.boundary.VerteilungTeilnehmer;
import de.ivu.elect.sitzberechnung.verteilung.Teilnehmer;

public class ElectVerteilungTeilnehmer implements Teilnehmer {

  private final String key;

  private final String label;

  private final long anzahlStimmen;

  public ElectVerteilungTeilnehmer(VerteilungTeilnehmer teilnehmer) {
    super();

    this.key = teilnehmer.getKey();

    this.label = teilnehmer.getLabel();

    this.anzahlStimmen = teilnehmer.getAnzahlStimmen();
  }

  public String getKey() {
    return key;
  }

  public String getLabel() {
    return label;
  }

  @Override
  public long getStimmen() {
    return anzahlStimmen;
  }

  @Override
  public String toString() {
    return getLabel() + ": " + getStimmen();
  }

  /*
   * AUTO-GENERATED!!!
   */

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

  @Override
  public boolean equals(Object obj) {
    if (this == obj) {
      return true;
    }

    if (obj == null) {
      return false;
    }

    if (getClass() != obj.getClass()) {
      return false;
    }

    ElectVerteilungTeilnehmer other = (ElectVerteilungTeilnehmer) obj;

    return Objects.equals(key, other.key);
  }
}
