# Interface ExtendedElementInformation

All Known Implementing Classes:
  `DefaultExtendedElementInformation`

@UML(identifier="MD_ExtendedElementInformation", specification=ISO_19115) public interface ExtendedElementInformation
New metadata element, not found in ISO 19115, which is required to describe geographic data.

Since:
  2.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `InternationalString`
  `getCondition()`
  Condition under which the extended element is mandatory.
  `Datatype`
  `getDataType()`
  Code which identifies the kind of value provided in the extended element.
  `InternationalString`
  `getDefinition()`
  Definition of the extended element.
  `Integer`
  `getDomainCode()`
  Three digit code assigned to the extended element.
  `InternationalString`
  `getDomainValue()`
  Valid values that can be assigned to the extended element.
  `Integer`
  `getMaximumOccurrence()`
  Maximum occurrence of the extended element.
  `String`
  `getName()`
  Name of the extended metadata element.
  `Obligation`
  `getObligation()`
  Obligation of the extended element.
  `Collection<String>`
  `getParentEntity()`
  Name of the metadata entity(s) under which this extended metadata element may appear.
  `Collection<? extends InternationalString>`
  `getRationales()`
  Reason for creating the extended element.
  `InternationalString`
  `getRule()`
  Specifies how the extended element relates to other existing elements and entities.
  `String`
  `getShortName()`
  Short form suitable for use in an implementation method such as XML or SGML.
  `Collection<? extends ResponsibleParty>`
  `getSources()`
  Name of the person or organization creating the extended element.

- ## Method Details

  - ### getName

    @UML(identifier="name", obligation=MANDATORY, specification=ISO_19115) String getName()
    Name of the extended metadata element.
    Returns:
      Name of the extended metadata element.

  - ### getShortName

    @UML(identifier="shortName", obligation=CONDITIONAL, specification=ISO_19115) String getShortName()
    Short form suitable for use in an implementation method such as XML or SGML. Returns `null` if the data type is code list element, in which case `getDomainCode()` may be used instead.
    Returns:
      Short form suitable for use in an implementation method such as XML or SGML, or `null`.

  - ### getDomainCode

    @UML(identifier="domainCode", obligation=CONDITIONAL, specification=ISO_19115) Integer getDomainCode()
    Three digit code assigned to the extended element. Returns a non-null value only if the data type is code list element, in which case `getShortName()` may be used instead.
    Returns:
      Three digit code assigned to the extended element, or `null`.

  - ### getDefinition

    @UML(identifier="definition", obligation=MANDATORY, specification=ISO_19115) InternationalString getDefinition()
    Definition of the extended element.
    Returns:
      Definition of the extended element.

  - ### getObligation

    @UML(identifier="obligation", obligation=CONDITIONAL, specification=ISO_19115) Obligation getObligation()
    Obligation of the extended element.
    Returns:
      Obligation of the extended element, or `null`.

  - ### getCondition

    @UML(identifier="condition", obligation=CONDITIONAL, specification=ISO_19115) InternationalString getCondition()
    Condition under which the extended element is mandatory. Returns a non-null value only if the obligation is conditional.
    Returns:
      The condition under which the extended element is mandatory, or `null`.

  - ### getDataType

    @UML(identifier="dataType", obligation=MANDATORY, specification=ISO_19115) Datatype getDataType()
    Code which identifies the kind of value provided in the extended element.
    Returns:
      The kind of value provided in the extended element.

  - ### getMaximumOccurrence

    @UML(identifier="maximumOccurrence", obligation=CONDITIONAL, specification=ISO_19115) Integer getMaximumOccurrence()
    Maximum occurrence of the extended element. Returns `null` if it doesn't apply, for example if the data type is enumeration, code list or code list element.
    Returns:
      Maximum occurrence of the extended element, or `null`.

  - ### getDomainValue

    @UML(identifier="domainValue", obligation=CONDITIONAL, specification=ISO_19115) InternationalString getDomainValue()
    Valid values that can be assigned to the extended element. Returns `null` if it doesn't apply, for example if the data type is enumeration, code list or code list element.
    Returns:
      Valid values that can be assigned to the extended element, or `null`.

  - ### getParentEntity

    @UML(identifier="parentEntity", obligation=MANDATORY, specification=ISO_19115) Collection<String> getParentEntity()
    Name of the metadata entity(s) under which this extended metadata element may appear. The name(s) may be standard metadata element(s) or other extended metadata element(s).
    Returns:
      Name of the metadata entity(s) under which this extended metadata element may appear.

  - ### getRule

    @UML(identifier="rule", obligation=MANDATORY, specification=ISO_19115) InternationalString getRule()
    Specifies how the extended element relates to other existing elements and entities.
    Returns:
      How the extended element relates to other existing elements and entities.

  - ### getRationales

    @UML(identifier="rationale", obligation=OPTIONAL, specification=ISO_19115) Collection<? extends InternationalString> getRationales()
    Reason for creating the extended element.
    Returns:
      Reason for creating the extended element.

  - ### getSources

    @UML(identifier="source", obligation=MANDATORY, specification=ISO_19115) Collection<? extends ResponsibleParty> getSources()
    Name of the person or organization creating the extended element.
    Returns:
      Name of the person or organization creating the extended element.