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

import javax.annotation.Nullable;

import de.ivu.elect.business.ergebnis.entity.DHondtQuotientListenInGruppe;
import de.ivu.elect.business.gebietsbaum.entity.GebietConstants;
import de.ivu.elect.business.wahlvorschlag.entity.Liste;
import de.ivu.elect.jee.faces.Messages;
import de.ivu.elect.jee.presentation.dynamictable.ColumnType;
import de.ivu.elect.presentation.gebietsbaum.GebietNummerFormatter;

public class DHondtQuotientListenInGruppeGebietColumn extends AbstractDHondtQuotientListenInGruppeColumn<DHondtQuotientListenInGruppe> {

  private static final long serialVersionUID = 1L;

  private final GebietNummerFormatter gebietNummerFormatter;

  protected DHondtQuotientListenInGruppeGebietColumn(Messages messages, GebietNummerFormatter gebietNummerFormatter) {
    super("DHondtQuotientListenInGruppe-Gebiet", messages, GebietConstants.MESSAGE_KEY_ENTITY_EINZAHL, ColumnType.STRING, null);

    this.gebietNummerFormatter = gebietNummerFormatter;
  }

  @Nullable
  @Override
  public Object getValue(DHondtQuotientListenInGruppe dHondtQuotientListenInGruppe) {
    Liste liste = dHondtQuotientListenInGruppe.getListe();

    if (liste != null) {
      return gebietNummerFormatter.getName(liste.getGebiet());
    }

    return "";
  }
}
