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

import java.math.BigDecimal;
import java.util.function.Function;

import de.ivu.elect.business.ergebnis.entity.ParteienwechselSearchResult;
import de.ivu.elect.jee.faces.Messages;
import de.ivu.elect.jee.presentation.dynamictable.ColumnType;

/**
 *  on 26.10.2015.
 */
public class ParteienwechselGewinnVerlustColumn extends AbstractParteienwechselColumn {

  private final Function<ParteienwechselSearchResult, BigDecimal> anteilFunction;

  private final String vergleich;

  public ParteienwechselGewinnVerlustColumn(Messages messages, Function<ParteienwechselSearchResult, BigDecimal> anteilFunction, String vergleich) {
    super(messages);
    this.anteilFunction = anteilFunction;
    this.vergleich = vergleich;
  }

  @Override
  public Object getValue(ParteienwechselSearchResult result) {
    return anteilFunction.apply(result);
  }

  @Override
  public String getHeader() {
    return getMessage("parteienwechsel.header.gewinn.verlust") + " " + vergleich;
  }

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

