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 File type-vokabularet frå Publications Office. Kjelde: http://publications.europa.eu/resource/authority/file-type/
 */
public enum EUFileType {

  /**
   * RDF Turtle
   */
  RDF_TURTLE("RDF_TURTLE"),

  /**
   * RDF XML
   */
  RDF_XML("RDF_XML"),

  /**
   * JSON-LD
   */
  JSON_LD("JSON_LD"),

  /**
   * JSON
   */
  JSON("JSON"),

  /**
   * XML
   */
  XML("XML"),

  /**
   * HTML
   */
  HTML("HTML"),

  /**
   * PDF
   */
  PDF("PDF"),

  /**
   * CSV
   */
  CSV("CSV"),

  /**
   * YAML
   */
  YAML("YAML");

  private final static Map<String, EUFileType> MAP;

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

    MAP = Collections.unmodifiableMap(map);
  }

  private final String repr;

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

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

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

}