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;

/**
 * Gyldige motivasjonsverdiar for kvalitetsmerknader per DQV-AP-NO og dqvno-vokabularet.
 */
public enum DqvMotivasjon {

  /**
   * Allgemein vurdering av kvalitet.
   */
  ASSESSING("assessing"),

  /**
   * Klassifisering av kvalitet.
   */
  CLASSIFYING("classifying"),

  /**
   * Tilgjengelegheit.
   */
  AVAILABILITY("availability"),

  /**
   * Fullstendigheit.
   */
  COMPLETENESS("completeness"),

  /**
   * Aktualitet.
   */
  CURRENTNESS("currentness"),

  /**
   * Gyldighet.
   */
  VALIDITY("validity"),

  /**
   * Nøyaktigheit.
   */
  ACCURACY("accuracy");

  private final static Map<String, DqvMotivasjon> MAP;

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

    MAP = Collections.unmodifiableMap(map);
  }

  private final String repr;

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

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

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

}