
package de.ivu.elect.dokumente.ergebnistabelle.gruppen;

import de.ivu.elect.business.ergebnis.entity.Stimmenart;
import de.ivu.elect.business.gruppe.entity.Gruppe;

public class GruppenErgebnistabelleSpaltenSchluessel {

  protected final Gruppe gruppe;

  protected final Stimmenart stimmenart;

  public GruppenErgebnistabelleSpaltenSchluessel(Gruppe gruppe, Stimmenart stimmenart) {
    super();

    this.gruppe = gruppe;
    this.stimmenart = stimmenart;
  }

  public Gruppe getGruppe() {
    return gruppe;
  }

  public Stimmenart getStimmenart() {
    return stimmenart;
  }

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

    GruppenErgebnistabelleSpaltenSchluessel that = (GruppenErgebnistabelleSpaltenSchluessel) o;

    if (!gruppe.equals(that.gruppe)) {
      return false;
    }
    if (stimmenart != that.stimmenart) {
      return false;
    }

    return true;
  }

  @Override
  public int hashCode() {
    int result = gruppe.hashCode();
    result = 31 * result + stimmenart.hashCode();
    return result;
  }
}
