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

import static org.apache.commons.lang3.StringUtils.defaultIfBlank;

import de.ivu.elect.business.gruppe.entity.GruppeKumulierteStimmen;
import de.ivu.elect.jee.faces.Messages;

public class GruppeKumulierteStimmenAnteilListenstimmenColumn extends AbstractGruppeKumulierteStimmenAnteilColumn {

  private static final long serialVersionUID = 1L;

  public GruppeKumulierteStimmenAnteilListenstimmenColumn(Messages messages) {
    super(messages);
  }

  @Override
  public String getHeader() {
    return getMessage("gruppe.kumulierte.stimmen.anteil");
  }

  @Override
  public String getHeaderIgnoringErgebnisartFuerDifferenz() {
    return getHeader();
  }

  @Override
  protected Double getValueInternal(GruppeKumulierteStimmen gruppeKumulierteStimmen) {
    if (gruppeKumulierteStimmen.isHatListeInGebietshierarchie()) {
      return getAnteil(gruppeKumulierteStimmen);
    }

    return null;
  }

  protected Double getAnteil(GruppeKumulierteStimmen gruppeKumulierteStimmen) {
    return gruppeKumulierteStimmen.getAnteilListenstimmen();
  }

  @Override
  public String getTooltip(GruppeKumulierteStimmen gruppeKumulierteStimmen) {
    return defaultIfBlank(super.getTooltip(gruppeKumulierteStimmen), gruppeKumulierteStimmen.getAnteilListenstimmenTooltip());
  }
}
