package de.ivu.elect.business.wahlrechtspruefung.entity;

import java.io.Serializable;

import de.ivu.elect.business.kandidatur.entity.Kandidatur;
import de.ivu.elect.business.wahlvorschlag.entity.Wahlvorschlag;

public class WahlrechtspruefungObjekt implements Serializable {

  private final Wahlvorschlag wahlvorschlag;
  private final Kandidatur kandidatur;

  public WahlrechtspruefungObjekt(Wahlvorschlag wahlvorschlag, Kandidatur kandidatur) {
    this.wahlvorschlag = wahlvorschlag;
    this.kandidatur = kandidatur;
  }

  @Override
  public String toString() {
    return "WahlrechtspruefungObjekt{" +
        "wahlvorschlag=" + wahlvorschlag +
        ", kandidatur=" + kandidatur +
        '}';
  }

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

    WahlrechtspruefungObjekt that = (WahlrechtspruefungObjekt) o;

    if (kandidatur != null ? !kandidatur.equals(that.kandidatur) : that.kandidatur != null) return false;
    if (wahlvorschlag != null ? !wahlvorschlag.equals(that.wahlvorschlag) : that.wahlvorschlag != null) return false;

    return true;
  }

  @Override
  public int hashCode() {
    int result = wahlvorschlag != null ? wahlvorschlag.hashCode() : 0;
    result = 31 * result + (kandidatur != null ? kandidatur.hashCode() : 0);
    return result;
  }

  public Wahlvorschlag getWahlvorschlag() {
    return wahlvorschlag;
  }

  public Kandidatur getKandidatur() {
    return kandidatur;
  }
}
