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

import de.ivu.elect.business.wahlvorschlag.entity.Liste;
import de.ivu.elect.business.wahlvorschlag.entity.StelInformationen;
import de.ivu.elect.jee.faces.Messages;
import de.ivu.elect.jee.presentation.dynamictable.ColumnType;
import de.ivu.elect.presentation.wahlvorschlag.NlListeStelInformationCache;

public class NlListeStelColumn extends AbstractWahlvorschlagColumn<Liste> {

  private static final long serialVersionUID = 1L;

  protected NlListeStelColumn(Messages messages, NlListeStelInformationCache nlListeStelInformationCache) {
    super("NlListeStelColumn", messages, "nl.liste.art.column", ColumnType.STRING, liste -> {

      StelInformationen stelInformationen = nlListeStelInformationCache.getStelInformationen(liste);
      if (stelInformationen.isEchterStel()) {
        return messages.getMessageForMessageKey("listengruppe.mit.stel", stelInformationen.getStelNummerAnzeige());
      }
      if (stelInformationen.isUnechterStel()) {
        return messages.getMessageForMessageKey("listengruppe.unechter.stel", stelInformationen.getStelNummerAnzeige());
      }
      return messages.lokalisiere(stelInformationen.getNlPolitischeGruppeArt());
    });
  }
}
