
package de.ivu.elect.business.stimmeingabe.control.plausi;

import java.util.Collection;

import de.ivu.elect.business.stimmeingabe.entity.Stimmeingabe;
import de.ivu.elect.business.stimmeingabe.entity.StimmeingabePlausiKonfiguration;
import de.ivu.elect.jee.faces.Messages;

public class ListenkandidaturListenstimmenGesamtZwischensummeGleichListenkandidaturListenstimmenSpalteZwischensummenSummePlausi
    extends
      AbstractStimmeingabeAnzahlComparedToStimmeingabeAnzahlenSummePlausi {

  public ListenkandidaturListenstimmenGesamtZwischensummeGleichListenkandidaturListenstimmenSpalteZwischensummenSummePlausi(Collection<Stimmeingabe> stimmeingabenListenkandidaturStimmen,
      StimmeingabePlausiKonfiguration stimmeingabePlausiKonfiguration, Messages messages) {
    super(
        new StimmeingabeAnzahlComparedToStimmeingabeAnzahlenPlausiDefinition(StimmeingabeAnzahlReference.LISTENKANDIDATUR_LISTENSTIMMEN_ZWISCHENSUMME_GESAMT,
            StimmeingabeAnzahlComparedToOperator.EQUAL_TO, StimmeingabeAnzahlReference.LISTENKANDIDATUR_LISTENSTIMMEN_ZWISCHENSUMME_SPALTE),
        stimmeingabenListenkandidaturStimmen, stimmeingabePlausiKonfiguration, messages);
  }

  @Override
  protected StimmeingabePlausiFiktiveWerteFehlerBeheber getFiktiveWerteFehlerBeheber() {
    // Alternative: EinenWertErgaenzenderSummenFehlerBeheber
    return new SummenRueckwaertsKorrigierenderFehlerBeheber(getComparedToStimmeingaben());
  }
}
