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

import de.ivu.elect.business.gebietsbaum.entity.Gebiet;
import de.ivu.elect.business.stimmen.boundary.StimmenartLabelGenerator;
import de.ivu.elect.business.wahlvorschlag.entity.ReferendumOptionKumulierteStimmen;
import de.ivu.elect.jee.faces.Messages;
import de.ivu.elect.jee.presentation.dynamictable.ColumnType;

public class ReferendumOptionKumulierteStimmenAnzahlColumn extends AbstractReferendumOptionKumulierteStimmenColumn {

  private static final long serialVersionUID = 1L;

  private final Gebiet gebiet;

  private final StimmenartLabelGenerator stimmenartLabelGenerator;

  public ReferendumOptionKumulierteStimmenAnzahlColumn(Gebiet gebiet, Messages messages, StimmenartLabelGenerator stimmenartLabelGenerator) {
    super(messages);

    this.gebiet = gebiet;

    this.stimmenartLabelGenerator = stimmenartLabelGenerator;
  }

  @Override
  public ColumnType getType() {
    return ColumnType.LONG;
  }

  @Override
  public String getHeader() {
    return stimmenartLabelGenerator.getReferendumStimmeBezeichnungPlural(gebiet);
  }

  @Override
  public Object getValue(ReferendumOptionKumulierteStimmen referendumOptionKumulierteStimmen) {
    return referendumOptionKumulierteStimmen.getAnzahlStimmen();
  }
}
