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

import de.ivu.elect.business.wahlvorschlagsperson.entity.WahlvorschlagsPerson;
import de.ivu.elect.business.wahlvorschlagsperson.entity.WahlvorschlagsPersonConstants;
import de.ivu.elect.jee.faces.Messages;
import de.ivu.elect.jee.presentation.dynamictable.ColumnType;
import de.ivu.elect.presentation.person.PersonendatenFormatter;

import static java.util.Objects.nonNull;

public class WahlvorschlagsPersonKandidaturNameColumn<E extends WahlvorschlagsPerson> extends AbstractWahlvorschlagsPersonColumn<E> {

  private static final long serialVersionUID = 1L;

  public WahlvorschlagsPersonKandidaturNameColumn(Messages messages, PersonendatenFormatter personendatenFormatter) {
    super("WahlvorschlagsPerson-KandidaturName", messages, WahlvorschlagsPersonConstants.MESSAGE_KEY_KANDIDATUR_ID_EINZAHL, ColumnType.STRING, wahlvorschlagsPerson -> {
      if (nonNull(wahlvorschlagsPerson) && wahlvorschlagsPerson.isIndividuelleWahlvorschlagsPerson()) {
        return personendatenFormatter.getVornameUndFamiliennameFuerAnzeige(wahlvorschlagsPerson.getKandidatur());
      }
      return "";
    });
  }
}
