# Class Obligation

Object
CodeList<Obligation>
Obligation

All Implemented Interfaces:
  `Serializable, Comparable<Obligation>`

@UML(identifier="MD_ObligationCode", specification=ISO_19115) public final class Obligation extends CodeList<Obligation>
Obligation of the element or entity.

Since:
  2.0
See Also:
  - Serialized Form

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class CodeList

  `CodeList​.Filter`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final Obligation`
  `CONDITIONAL`
  Element is required when a specific condition is met.
  `static final Obligation`
  `MANDATORY`
  Element is always required.
  `static final Obligation`
  `OPTIONAL`
  Element is not required.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Obligation[]`
  `family()`
  Returns the list of enumerations of the same kind as this enum.
  `static Obligation`
  `valueOf(String code)`
  Returns the obligation that matches the given string, or returns a new one if none match it.
  `static Obligation[]`
  `values()`
  Returns the list of `Obligation`s.

  ### Methods inherited from class CodeList

  `compareTo, identifier, name, names, ordinal, readResolve, toString, valueOf, valueOf`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### MANDATORY

    @UML(identifier="mandatory", obligation=CONDITIONAL, specification=ISO_19115) public static final Obligation MANDATORY
    Element is always required.

  - ### OPTIONAL

    @UML(identifier="optional", obligation=CONDITIONAL, specification=ISO_19115) public static final Obligation OPTIONAL
    Element is not required.

  - ### CONDITIONAL

    @UML(identifier="conditional", obligation=CONDITIONAL, specification=ISO_19115) public static final Obligation CONDITIONAL
    Element is required when a specific condition is met.

- ## Method Details

  - ### values

    public static Obligation[] values()
    Returns the list of `Obligation`s.
    Returns:
      The list of codes declared in the current JVM.

  - ### family

    public Obligation[] family()
    Returns the list of enumerations of the same kind as this enum.
    Specified by:
      `family` in class `CodeList<Obligation>`
    Returns:
      The codes of the same kind as this code.

  - ### valueOf

    public static Obligation valueOf(String code)
    Returns the obligation that matches the given string, or returns a new one if none match it.
    Parameters:
      `code` - The name of the code to fetch or to create.
    Returns:
      A code matching the given name.