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

import de.ivu.elect.jee.faces.Messages;

import javax.annotation.Nullable;
import java.util.Arrays;

public enum SchulungArt {

  WAHLVORSTEHER_SCHULUNG,
  SCHRIFTFUEHRER_SCHULUNG,
  BEISITZER_SCHULUNG,

  CUSTOM_1,
  CUSTOM_2,
  CUSTOM_3,
  CUSTOM_4,
  CUSTOM_5,

  SONSTIGE,

  ;

  private SchulungArt() {
  }

  public boolean isCustom() {
    return name().startsWith("CUSTOM_");
  }

  @Nullable
  public static SchulungArt valueOf(String stringMitLokalisierterSchulungArt, Messages messages) {
    return Arrays.stream(values()) //
        .filter(schulungArt -> stringMitLokalisierterSchulungArt.contains(messages.lokalisiere(schulungArt))) //
        .findFirst() //
        .orElse(null);
  }
}
