
package de.ivu.elect.business.stimmen.boundary;

import de.ivu.elect.business.ergebnis.entity.Stimmenart;
import de.ivu.elect.business.gebietsbaum.entity.Gebiet;
import de.ivu.elect.business.kandidatur.boundary.WaehlerBenannteKandidaturKonfiguration;

public class StimmenartLabelGenerator extends AbstractStimmeLabelGenerator {

  private static final long serialVersionUID = 1L;

  public StimmenartLabelGenerator() {
    super();
  }

  public StimmenartLabelGenerator(StimmeLabelMessages stimmeLabelMessages, WaehlerBenannteKandidaturKonfiguration waehlerBenannteKandidaturKonfiguration) {
    super(stimmeLabelMessages, waehlerBenannteKandidaturKonfiguration);
  }

  public String getPruefkennzeichenBezeichnungSingular(Gebiet gebiet) {
    return getMessage(Stimmenart.PRUEFKENNZEICHEN);
  }

  public String getPruefkennzeichenBezeichnungPlural(Gebiet gebiet) {
    return getMessage(Stimmenart.PRUEFKENNZEICHEN);
  }

  public String getDirektstimmeBezeichnungSingular(Gebiet gebiet) {
    return getSingularOrDefault(gebiet, DirektstimmeLabelGenerator.MSG_KEY_INFIX_DIREKTSTIMME, "Erststimme");
  }

  public String getDirektstimmeBezeichnungPlural(Gebiet gebiet) {
    return getPluralOrDefault(gebiet, DirektstimmeLabelGenerator.MSG_KEY_INFIX_DIREKTSTIMME, "Erststimmen");
  }

  public String getListenstimmeBezeichnungSingular(Gebiet gebiet) {
    return getSingularOrDefault(gebiet, ListenstimmeLabelGenerator.MSG_KEY_INFIX_LISTENSTIMME, "Zweitstimme");
  }

  public String getListenstimmeBezeichnungPlural(Gebiet gebiet) {
    return getPluralOrDefault(gebiet, ListenstimmeLabelGenerator.MSG_KEY_INFIX_LISTENSTIMME, "Zweitstimmen");
  }

  public String getReferendumStimmeBezeichnungSingular(Gebiet gebiet) {
    return getSingularOrDefault(gebiet, ReferendumStimmeLabelGenerator.MSG_KEY_INFIX_REFERENDUM_STIMME, "Stimme");
  }

  public String getReferendumStimmeBezeichnungPlural(Gebiet gebiet) {
    return getPluralOrDefault(gebiet, ReferendumStimmeLabelGenerator.MSG_KEY_INFIX_REFERENDUM_STIMME, "Stimmen");
  }
}
