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

import static java.util.Arrays.asList;

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 abstract class AbstractStimmeingabeAnzahlComparedToStimmeingabeAnzahlenSummeAnteilPlausi extends AbstractStimmeingabeAnzahlComparedToStimmeingabeAnzahlenSummePlausi
    implements
      StimmeingabePlausiAnzahlComparedToAnzahlAnteilKonfiguriert {

  private final Double anteilSumme;

  protected AbstractStimmeingabeAnzahlComparedToStimmeingabeAnzahlenSummeAnteilPlausi(AbstractStimmeingabeAnzahlComparedToPlausiDefinition stimmeingabeAnzahlComparedToPlausiDefinition,
      Stimmeingabe comparedToStimmeingabe, StimmeingabePlausiKonfiguration stimmeingabePlausiKonfiguration, Messages messages) {
    this(stimmeingabeAnzahlComparedToPlausiDefinition, asList(comparedToStimmeingabe), stimmeingabePlausiKonfiguration, messages);
  }

  protected AbstractStimmeingabeAnzahlComparedToStimmeingabeAnzahlenSummeAnteilPlausi(AbstractStimmeingabeAnzahlComparedToPlausiDefinition stimmeingabeAnzahlComparedToPlausiDefinition,
      Collection<Stimmeingabe> comparedToStimmeingaben, StimmeingabePlausiKonfiguration stimmeingabePlausiKonfiguration, Messages messages) {
    super(stimmeingabeAnzahlComparedToPlausiDefinition, comparedToStimmeingaben, stimmeingabePlausiKonfiguration, messages);

    StimmeingabePlausiAnzahlComparedToAnzahlAnteilKonfiguriertCustomData stimmeingabePlausiKonfigurationCustomData = (StimmeingabePlausiAnzahlComparedToAnzahlAnteilKonfiguriertCustomData) stimmeingabePlausiKonfiguration
        .getCustomData();

    this.anteilSumme = stimmeingabePlausiKonfigurationCustomData.getAnteil();
  }

  @Override
  protected Double getComparedToAnteil() {
    return anteilSumme;
  }
}
