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

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

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

public class NlGruppeKumulierteStimmenAnteilListenstimmenGewichtetColumn extends AbstractGruppeKumulierteStimmenAnteilColumn {

  protected NlGruppeKumulierteStimmenAnteilListenstimmenGewichtetColumn(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 instanceof NlGruppeKumulierteStimmen && gruppeKumulierteStimmen.isHatListeInGebietshierarchie()) {
      return ((NlGruppeKumulierteStimmen) gruppeKumulierteStimmen).getAnteilListenstimmenGewichtet();
    }
    return null;
  }

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