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

import static java.util.Collections.emptyList;
import static java.util.Objects.nonNull;

import de.ivu.elect.business.person.entity.Personendaten;
import de.ivu.elect.business.person.entity.PersonendatenConstants;
import de.ivu.elect.business.person.entity.PersonendatenMeta;
import de.ivu.elect.jee.faces.Messages;
import de.ivu.elect.jee.presentation.dynamictable.ColumnType;

public class PersonendatenAkademischerGradColumn<E extends Personendaten> extends AbstractPersonendatenColumn<E> {

  private static final long serialVersionUID = 1L;

  public PersonendatenAkademischerGradColumn(Messages messages, PersonendatenMeta personendatenMeta) {
    super("Personendaten-AkademischeGrade", messages, PersonendatenConstants.MESSAGE_KEY_AKADEMISCHER_GRAD_EINZAHL, ColumnType.COLLECTION,
        personendaten -> {
          if (nonNull(personendaten)) {
            return personendaten.getAkademischeGradeCommaSeparated();
          }

          return emptyList();
        });
  }
}
