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

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

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

public abstract class AbstractGruppeKumulierteStimmenAnteilColumn extends AbstractGruppeKumulierteStimmenColumn {

  private static final long serialVersionUID = 1L;

  protected AbstractGruppeKumulierteStimmenAnteilColumn(Messages messages) {
    super(messages);
  }

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

  @Override
  public Object getValue(GruppeKumulierteStimmen gruppeKumulierteStimmen) {
    return getValueInternal(gruppeKumulierteStimmen);
  }

  protected abstract Double getValueInternal(GruppeKumulierteStimmen gruppeKumulierteStimmen);

  @Override
  public String getStyleClass() {
    return trimToEmpty(super.getStyleClass()) + " " + AbstractGruppeKumulierteStimmenColumn.ANTEIL_COLUMN_STYLE_CLASS;
  }
}
