
package de.ivu.elect.presentation.wahl;

import javax.inject.Inject;

import de.ivu.elect.business.kandidatur.boundary.WaehlerBenannteKandidaturKonfiguration;
import de.ivu.elect.business.pruefung.boundary.ZulassungPruefer;
import de.ivu.elect.business.wahl.boundary.WahlSessionSelector;
import de.ivu.elect.business.wahl.entity.Wahl;
import de.ivu.elect.business.wahlrechtspruefung.boundary.ZulassungspruefungRegeln;
import de.ivu.elect.business.wahlrechtspruefung.control.AbstractWahlZulassungspruefung;
import de.ivu.elect.presentation.pruefung.ZulassungPrueferRequestScope;

public class CurrentWahlZulassungspruefungExtended extends AbstractWahlZulassungspruefung {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient ZulassungspruefungRegeln zulassungspruefungRegeln;

  @Inject
  private transient WahlSessionSelector wahlSessionSelector;

  @Inject
  private transient ZulassungPrueferRequestScope zulassungPrueferRequestScope;

  @Inject
  private transient WaehlerBenannteKandidaturKonfiguration waehlerBenannteKandidaturKonfiguration;

  public CurrentWahlZulassungspruefungExtended() {
    super();
  }

  @Override
  public Wahl getWahl() {
    return wahlSessionSelector.getEntity();
  }

  @Override
  public ZulassungPruefer getZulassungPruefer() {
    return zulassungPrueferRequestScope.getZulassungPruefer();
  }

  @Override
  protected WaehlerBenannteKandidaturKonfiguration getWaehlerBenannteKandidaturKonfiguration() {
    return waehlerBenannteKandidaturKonfiguration;
  }

  @Override
  protected ZulassungspruefungRegeln getZulassungspruefungRegeln() {
    return zulassungspruefungRegeln;
  }
}
