
package de.ivu.elect.business.wahl.entity;

import static java.util.Arrays.stream;

import java.util.Collection;
import java.util.List;
import java.util.stream.Collectors;

public enum WahlParameterWahlbenachrichtigungStatus {

  EXTERNER_DRUCK_VORGESEHEN,
  EXTERNER_DRUCK_BEAUFTRAGT,
  EXTERNER_DRUCK_VERSANDT;

  private WahlParameterWahlbenachrichtigungStatus() {
  }

  public static <T extends Enum<T>> List<T> valuesOf(T[] values) {
    Collection<String> names = stream(values()).map(value -> value.name()).collect(Collectors.toList());

    return stream(values).filter(value -> names.contains(value.name())).collect(Collectors.toList());
  }
}
