package no.norge.data.oreg.javazonetalk;

/* metamodel_version: 1.11.0 */
/* version: 0.1.0 */
import java.util.Map;
import java.util.HashMap;
import java.util.Collections;

import com.fasterxml.jackson.annotation.JsonCreator;

/**
 * EU Language-vokabularet frå Publications Office. Kjelde: http://publications.europa.eu/resource/authority/language/
 */
public enum EULanguage {

  /**
   * Norsk bokmål
   */
  NOB("NOB"),

  /**
   * Nynorsk
   */
  NNO("NNO"),

  /**
   * Norsk (uspesifisert)
   */
  NOR("NOR"),

  /**
   * Nordsamisk
   */
  SME("SME"),

  /**
   * Sørsamisk
   */
  SMA("SMA"),

  /**
   * Lulesamisk
   */
  SMJ("SMJ"),

  /**
   * Engelsk
   */
  ENG("ENG");

  private final static Map<String, EULanguage> MAP;

  static {
    Map<String, EULanguage> map = new HashMap<String, EULanguage>();
    for ( EULanguage value : EULanguage.values() ) {
      map.put(value.toString(), value);
    }

    MAP = Collections.unmodifiableMap(map);
  }

  private final String repr;

  EULanguage(String repr) {
    this.repr = repr;
  }

  @Override
  public String toString() {
    return repr;
  }

  @JsonCreator
  public static EULanguage fromString(String v) {
    return MAP.get(v);
  }

}