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

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

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

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

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

  private static final long serialVersionUID = 1L;

  public PersonendatenPersonendatenTagColumn(Messages messages) {
    super("Personendaten-PersonendatenTags", messages, AbstractPersonendaten.MESSAGE_KEY_PERSONENDATEN_TAG_MEHRZAHL, ColumnType.COLLECTION, personendaten -> {
      if (nonNull(personendaten)) {
        List<String> result = new ArrayList<>(personendaten.getPersonendatenTag());
        Collections.sort(result);

        return result;
      }

      return emptyList();
    });
  }
}
