
package de.ivu.elect.presentation.kandidatur.table;

import de.ivu.elect.business.ergebnis.entity.Stimmenart;
import de.ivu.elect.business.gebietsbaum.entity.Gebiet;
import de.ivu.elect.business.kandidatur.entity.KandidaturKumulierteStimmen;
import de.ivu.elect.business.stimmeingabe.control.StimmeingabeStimmenartLabelGenerator;
import de.ivu.elect.jee.faces.Messages;

public abstract class AbstractKandidaturKumulierteStimmenAnzahlListenstimmenAnteilColumn extends AbstractKandidaturKumulierteStimmenAnzahlStimmenColumn {

  private static final long serialVersionUID = 1L;

  public AbstractKandidaturKumulierteStimmenAnzahlListenstimmenAnteilColumn(Gebiet gebiet, boolean stimmenartenUnterscheiden, Messages messages,
      StimmeingabeStimmenartLabelGenerator stimmenartLabelGenerator) {
    super(gebiet, stimmenartenUnterscheiden, messages, stimmenartLabelGenerator);
  }

  @Override
  protected Stimmenart getStimmenart() {
    return Stimmenart.LISTENSTIMME;
  }

  @Override
  protected Long getAnzahlStimmen(KandidaturKumulierteStimmen kandidaturKumulierteStimmen) {
    return getAnzahlStimmenAnteil(kandidaturKumulierteStimmen);
  }

  protected abstract Long getAnzahlStimmenAnteil(KandidaturKumulierteStimmen kandidaturKumulierteStimmen);
}
