# Interface Metadata

All Known Implementing Classes:
  `DefaultMetadata`

@UML(identifier="MD_Metadata", specification=ISO_19115) public interface Metadata
Root entity which defines metadata about a resource or resources.

Since:
  2.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Collection<? extends AcquisitionInformation>`
  `getAcquisitionInformation()`
  Provides information about the acquisition of the data.
  `Collection<? extends ApplicationSchemaInformation>`
  `getApplicationSchemaInfo()`
  Provides information about the conceptual schema of a dataset.
  `CharacterSet`
  `getCharacterSet()`
  Full name of the character coding standard used for the metadata set.
  `Collection<? extends ResponsibleParty>`
  `getContacts()`
  Parties responsible for the metadata information.
  `Collection<? extends ContentInformation>`
  `getContentInfo()`
  Provides information about the feature catalogue and describes the coverage and image data characteristics.
  `Collection<? extends DataQuality>`
  `getDataQualityInfo()`
  Provides overall assessment of quality of a resource(s).
  `String`
  `getDataSetUri()`
  Uniformed Resource Identifier (URI) of the dataset to which the metadata applies.
  `Date`
  `getDateStamp()`
  Date that the metadata was created.
  `Distribution`
  `getDistributionInfo()`
  Provides information about the distributor of and options for obtaining the resource(s).
  `String`
  `getFileIdentifier()`
  Unique identifier for this metadata file, or `null` if none.
  `Collection<String>`
  `getHierarchyLevelNames()`
  Name of the hierarchy levels for which the metadata is provided.
  `Collection<ScopeCode>`
  `getHierarchyLevels()`
  Scope to which the metadata applies.
  `Collection<? extends Identification>`
  `getIdentificationInfo()`
  Basic information about the resource(s) to which the metadata applies.
  `Locale`
  `getLanguage()`
  Language used for documenting metadata.
  `Collection<Locale>`
  `getLocales()`
  Provides information about an alternatively used localized character string for a linguistic extension.
  `Collection<? extends Constraints>`
  `getMetadataConstraints()`
  Provides restrictions on the access and use of metadata.
  `Collection<? extends MetadataExtensionInformation>`
  `getMetadataExtensionInfo()`
  Information describing metadata extensions.
  `MaintenanceInformation`
  `getMetadataMaintenance()`
  Provides information about the frequency of metadata updates, and the scope of those updates.
  `String`
  `getMetadataStandardName()`
  Name of the metadata standard (including profile name) used.
  `String`
  `getMetadataStandardVersion()`
  Version (profile) of the metadata standard used.
  `String`
  `getParentIdentifier()`
  File identifier of the metadata to which this metadata is a subset (child).
  `Collection<? extends PortrayalCatalogueReference>`
  `getPortrayalCatalogueInfo()`
  Provides information about the catalogue of rules defined for the portrayal of a resource(s).
  `Collection<? extends ReferenceSystem>`
  `getReferenceSystemInfo()`
  Description of the spatial and temporal reference systems used in the dataset.
  `Collection<? extends SpatialRepresentation>`
  `getSpatialRepresentationInfo()`
  Digital representation of spatial information in the dataset.

- ## Method Details

  - ### getFileIdentifier

    @Profile(level=CORE) @UML(identifier="fileIdentifier", obligation=OPTIONAL, specification=ISO_19115) String getFileIdentifier()
    Unique identifier for this metadata file, or `null` if none.
    Returns:
      Unique identifier for this metadata file, or `null`.

  - ### getLanguage

    @Profile(level=CORE) @UML(identifier="language", obligation=CONDITIONAL, specification=ISO_19115) Locale getLanguage()
    Language used for documenting metadata.
    Returns:
      Language used for documenting metadata, or `null`.

  - ### getCharacterSet

    @Profile(level=CORE) @UML(identifier="characterSet", obligation=CONDITIONAL, specification=ISO_19115) CharacterSet getCharacterSet()
    Full name of the character coding standard used for the metadata set.
    Returns:
      character coding standard used for the metadata, or `null`.

  - ### getParentIdentifier

    @UML(identifier="parentIdentifier", obligation=CONDITIONAL, specification=ISO_19115) String getParentIdentifier()
    File identifier of the metadata to which this metadata is a subset (child).
    Returns:
      Identifier of the metadata to which this metadata is a subset, or `null`.

  - ### getHierarchyLevels

    @UML(identifier="hierarchyLevel", obligation=CONDITIONAL, specification=ISO_19115) Collection<ScopeCode> getHierarchyLevels()
    Scope to which the metadata applies.
    Returns:
      Scope to which the metadata applies.

  - ### getHierarchyLevelNames

    @UML(identifier="hierarchyLevelName", obligation=CONDITIONAL, specification=ISO_19115) Collection<String> getHierarchyLevelNames()
    Name of the hierarchy levels for which the metadata is provided.
    Returns:
      Hierarchy levels for which the metadata is provided.

  - ### getContacts

    @Profile(level=CORE) @UML(identifier="contact", obligation=MANDATORY, specification=ISO_19115) Collection<? extends ResponsibleParty> getContacts()
    Parties responsible for the metadata information.
    Returns:
      Parties responsible for the metadata information.
    Since:
      2.1

  - ### getDateStamp

    @Profile(level=CORE) @UML(identifier="dateStamp", obligation=MANDATORY, specification=ISO_19115) Date getDateStamp()
    Date that the metadata was created.

    Warning: The return type of this method may change in GeoAPI 3.1 release. It may be replaced by a type matching more closely either ISO 19108 (Temporal Schema) or ISO 19103.

    Returns:
      Date that the metadata was created.

  - ### getMetadataStandardName

    @Profile(level=CORE) @UML(identifier="metadataStandardName", obligation=OPTIONAL, specification=ISO_19115) String getMetadataStandardName()
    Name of the metadata standard (including profile name) used.
    Returns:
      Name of the metadata standard used, or `null`.

  - ### getMetadataStandardVersion

    @Profile(level=CORE) @UML(identifier="metadataStandardVersion", obligation=OPTIONAL, specification=ISO_19115) String getMetadataStandardVersion()
    Version (profile) of the metadata standard used.
    Returns:
      Version of the metadata standard used, or `null`.

  - ### getDataSetUri

    @UML(identifier="dataSetURI", obligation=OPTIONAL, specification=ISO_19115) String getDataSetUri()
    Uniformed Resource Identifier (URI) of the dataset to which the metadata applies.
    Returns:
      Uniformed Resource Identifier of the dataset, or `null`.
    Since:
      2.1

  - ### getLocales

    @UML(identifier="locale", obligation=OPTIONAL, specification=ISO_19115) Collection<Locale> getLocales()
    Provides information about an alternatively used localized character string for a linguistic extension.
    Returns:
      Alternatively used localized character string for a linguistic extension.
    Since:
      2.1

  - ### getSpatialRepresentationInfo

    @UML(identifier="spatialRepresentationInfo", obligation=OPTIONAL, specification=ISO_19115) Collection<? extends SpatialRepresentation> getSpatialRepresentationInfo()
    Digital representation of spatial information in the dataset.
    Returns:
      Digital representation of spatial information in the dataset.

  - ### getReferenceSystemInfo

    @Profile(level=CORE) @UML(identifier="referenceSystemInfo", obligation=OPTIONAL, specification=ISO_19115) Collection<? extends ReferenceSystem> getReferenceSystemInfo()
    Description of the spatial and temporal reference systems used in the dataset.
    Returns:
      Spatial and temporal reference systems used in the dataset.

  - ### getMetadataExtensionInfo

    @UML(identifier="metadataExtensionInfo", obligation=OPTIONAL, specification=ISO_19115) Collection<? extends MetadataExtensionInformation> getMetadataExtensionInfo()
    Information describing metadata extensions.
    Returns:
      Metadata extensions.

  - ### getIdentificationInfo

    @Profile(level=CORE) @UML(identifier="identificationInfo", obligation=MANDATORY, specification=ISO_19115) Collection<? extends Identification> getIdentificationInfo()
    Basic information about the resource(s) to which the metadata applies.
    Returns:
      The resource(s) to which the metadata applies.

  - ### getContentInfo

    @UML(identifier="contentInfo", obligation=OPTIONAL, specification=ISO_19115) Collection<? extends ContentInformation> getContentInfo()
    Provides information about the feature catalogue and describes the coverage and image data characteristics.
    Returns:
      The feature catalogue, coverage descriptions and image data characteristics.

  - ### getDistributionInfo

    @Profile(level=CORE) @UML(identifier="distributionInfo", obligation=OPTIONAL, specification=ISO_19115) Distribution getDistributionInfo()
    Provides information about the distributor of and options for obtaining the resource(s).
    Returns:
      The distributor of and options for obtaining the resource(s).

  - ### getDataQualityInfo

    @Profile(level=CORE) @UML(identifier="dataQualityInfo", obligation=OPTIONAL, specification=ISO_19115) Collection<? extends DataQuality> getDataQualityInfo()
    Provides overall assessment of quality of a resource(s).
    Returns:
      Overall assessment of quality of a resource(s).

  - ### getPortrayalCatalogueInfo

    @UML(identifier="portrayalCatalogueInfo", obligation=OPTIONAL, specification=ISO_19115) Collection<? extends PortrayalCatalogueReference> getPortrayalCatalogueInfo()
    Provides information about the catalogue of rules defined for the portrayal of a resource(s).
    Returns:
      The catalogue of rules defined for the portrayal of a resource(s).

  - ### getMetadataConstraints

    @UML(identifier="metadataConstraints", obligation=OPTIONAL, specification=ISO_19115) Collection<? extends Constraints> getMetadataConstraints()
    Provides restrictions on the access and use of metadata.
    Returns:
      Restrictions on the access and use of metadata.
    See Also:
      - `Identification​.getResourceConstraints()`

  - ### getApplicationSchemaInfo

    @UML(identifier="applicationSchemaInfo", obligation=OPTIONAL, specification=ISO_19115) Collection<? extends ApplicationSchemaInformation> getApplicationSchemaInfo()
    Provides information about the conceptual schema of a dataset.
    Returns:
      The conceptual schema of a dataset.

  - ### getMetadataMaintenance

    @UML(identifier="metadataMaintenance", obligation=OPTIONAL, specification=ISO_19115) MaintenanceInformation getMetadataMaintenance()
    Provides information about the frequency of metadata updates, and the scope of those updates.
    Returns:
      The frequency of metadata updates and their scope.
    See Also:
      - `Identification​.getResourceMaintenances()`

  - ### getAcquisitionInformation

    @UML(identifier="acquisitionInformation", obligation=OPTIONAL, specification=ISO_19115_2) Collection<? extends AcquisitionInformation> getAcquisitionInformation()
    Provides information about the acquisition of the data.
    Returns:
      The acquisition of data.