# Class Datatype

Object
CodeList<Datatype>
Datatype

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

@UML(identifier="MD_DatatypeCode", specification=ISO_19115) public final class Datatype extends CodeList<Datatype>
Datatype of 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 Datatype`
  `ABSTRACT_CLASS`
  Class that cannot be directly instantiated.
  `static final Datatype`
  `AGGREGATE_CLASS`
  Class that is composed of classes it is connected to by an aggregate relationship.
  `static final Datatype`
  `ASSOCIATION`
  Semantic relationship between two classes that involves connections among their instances.
  `static final Datatype`
  `CHARACTER_STRING`
  Free text field.
  `static final Datatype`
  `CLASS`
  Descriptor of a set of objects that share the same attributes, operations, methods, relationships, and behavior.
  `static final Datatype`
  `CODE_LIST`
  Flexible enumeration useful for expressing a long list of values, can be extended.
  `static final Datatype`
  `CODE_LIST_ELEMENT`
  Permissible value for a codelist or enumeration.
  `static final Datatype`
  `DATATYPE_CLASS`
  Class with few or no operations whose primary purpose is to hold the abstract state of another class for transmittal, storage, encoding or persistent storage.
  `static final Datatype`
  `ENUMERATION`
  Data type whose instances form a list of named literal values, not extendable.
  `static final Datatype`
  `INTEGER`
  Numerical field.
  `static final Datatype`
  `INTERFACE_CLASS`
  Named set of operations that characterize the behavior of an element.
  `static final Datatype`
  `META_CLASS`
  Class whose instances are classes.
  `static final Datatype`
  `SPECIFIED_CLASS`
  Subclass that may be substituted for its superclass.
  `static final Datatype`
  `TYPE_CLASS`
  Class used for specification of a domain of instances (objects), together with the operations applicable to the objects.
  `static final Datatype`
  `UNION_CLASS`
  Class describing a selection of one of the specified types.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Datatype[]`
  `family()`
  Returns the list of enumerations of the same kind as this enum.
  `static Datatype`
  `valueOf(String code)`
  Returns the datatype that matches the given string, or returns a new one if none match it.
  `static Datatype[]`
  `values()`
  Returns the list of `Datatype`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

  - ### CLASS

    @UML(identifier="class", obligation=CONDITIONAL, specification=ISO_19115) public static final Datatype CLASS
    Descriptor of a set of objects that share the same attributes, operations, methods, relationships, and behavior.

  - ### CODE_LIST

    @UML(identifier="codelist", obligation=CONDITIONAL, specification=ISO_19115) public static final Datatype CODE_LIST
    Flexible enumeration useful for expressing a long list of values, can be extended.

  - ### ENUMERATION

    @UML(identifier="enumeration", obligation=CONDITIONAL, specification=ISO_19115) public static final Datatype ENUMERATION
    Data type whose instances form a list of named literal values, not extendable.

  - ### CODE_LIST_ELEMENT

    @UML(identifier="codelistElement", obligation=CONDITIONAL, specification=ISO_19115) public static final Datatype CODE_LIST_ELEMENT
    Permissible value for a codelist or enumeration.

  - ### ABSTRACT_CLASS

    @UML(identifier="abstractClass", obligation=CONDITIONAL, specification=ISO_19115) public static final Datatype ABSTRACT_CLASS
    Class that cannot be directly instantiated.

  - ### AGGREGATE_CLASS

    @UML(identifier="aggregateClass", obligation=CONDITIONAL, specification=ISO_19115) public static final Datatype AGGREGATE_CLASS
    Class that is composed of classes it is connected to by an aggregate relationship.

  - ### SPECIFIED_CLASS

    @UML(identifier="specifiedClass", obligation=CONDITIONAL, specification=ISO_19115) public static final Datatype SPECIFIED_CLASS
    Subclass that may be substituted for its superclass.

  - ### DATATYPE_CLASS

    @UML(identifier="datatypeClass", obligation=CONDITIONAL, specification=ISO_19115) public static final Datatype DATATYPE_CLASS
    Class with few or no operations whose primary purpose is to hold the abstract state of another class for transmittal, storage, encoding or persistent storage.

  - ### INTERFACE_CLASS

    @UML(identifier="interfaceClass", obligation=CONDITIONAL, specification=ISO_19115) public static final Datatype INTERFACE_CLASS
    Named set of operations that characterize the behavior of an element.

  - ### UNION_CLASS

    @UML(identifier="unionClass", obligation=CONDITIONAL, specification=ISO_19115) public static final Datatype UNION_CLASS
    Class describing a selection of one of the specified types.

  - ### META_CLASS

    @UML(identifier="metaClass", obligation=CONDITIONAL, specification=ISO_19115) public static final Datatype META_CLASS
    Class whose instances are classes.

  - ### TYPE_CLASS

    @UML(identifier="typeClass", obligation=CONDITIONAL, specification=ISO_19115) public static final Datatype TYPE_CLASS
    Class used for specification of a domain of instances (objects), together with the operations applicable to the objects. A type may have attributes and associations.

  - ### CHARACTER_STRING

    @UML(identifier="characterString", obligation=CONDITIONAL, specification=ISO_19115) public static final Datatype CHARACTER_STRING
    Free text field.

  - ### INTEGER

    @UML(identifier="integer", obligation=CONDITIONAL, specification=ISO_19115) public static final Datatype INTEGER
    Numerical field.

  - ### ASSOCIATION

    @UML(identifier="association", obligation=CONDITIONAL, specification=ISO_19115) public static final Datatype ASSOCIATION
    Semantic relationship between two classes that involves connections among their instances.

- ## Method Details

  - ### values

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

  - ### family

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

  - ### valueOf

    public static Datatype valueOf(String code)
    Returns the datatype 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.