# Package org.apache.sis.metadata.iso

package org.apache.sis.metadata.iso
Root package for ISO 19115 metadata about resources (data or services). An explanation for this package is provided in the OpenGIS® javadoc. The remaining discussion on this page is specific to the SIS implementation.

## Overview

For a global overview of metadata in SIS, see the `org​.apache​.sis​.metadata` package javadoc. For some explanation about how to use various ISO 19115 elements for scientific dataset, the NOAA wiki page is a good source of information.

Package overview
Class hierarchy | Aggregation hierarchy
--- | ---
ISO 19115 metadata `├─` Metadata `├─` Metadata scope `├─` Portrayal catalogue reference `├─` Application schema information `├─` Metadata extension information `├─` Extended element information `└─` Identifier Code list `├─` Data type `└─` Obligation | Metadata `├─` Metadata scope `├─` Portrayal catalogue reference `├─` Application schema information `├─` Metadata extension information `│ └─` Extended element information `│ ├─` Data type «code list» `│ └─` Obligation «code list» `└─` Identifier

## Localization

When a metadata object is marshalled as an ISO 19115-3 compliant XML document, the marshaller `XML​.LOCALE` property will be used for the localization of every `InternationalString` and `CodeList` instances, except if the object to be marshalled is an instance of `DefaultMetadata`, in which case the value given to the `setLanguage(Locale)` method will have precedence. The later behavior is compliant with INSPIRE rules.

## Null values, nil objects and collections

All constructors and setter methods accept `null` arguments. A null argument value means that the metadata element can not be provided, and the reason for that is unspecified. Alternatively, users can specify why a metadata element is missing by providing a value created by `NilReason​.createNilObject(Class)`.

Unless otherwise noted in the Javadoc, all getter methods may return an empty collection, an empty array or `null` if the type is neither a collection or an array. Note that non-null values may be `NilObject`s.

Unless the metadata object has been marked as unmodifiable and unless otherwise noted in the Javadoc, all collections returned by getter methods are live: adding new elements in the collection modify directly the underlying metadata object.

Since:
  0.3

Defined in the `sis-metadata` module

- Related Packages
  Package
  Description
  org.apache.sis.metadata
  Root package for various metadata implementations.
  org.apache.sis.metadata.iso.acquisition
  Information about the measuring instruments, the platform carrying them, and the mission to which the data contributes.
  org.apache.sis.metadata.iso.citation
  Reference to the data or service (citation, responsible party, contact information).
  org.apache.sis.metadata.iso.constraint
  Information about legal and security constraints placed on data.
  org.apache.sis.metadata.iso.content
  Description of the dataset content.
  org.apache.sis.metadata.iso.distribution
  Information about the options for obtaining a resource (data or service).
  org.apache.sis.metadata.iso.extent
  Information about spatial, vertical, and temporal extent.
  org.apache.sis.metadata.iso.identification
  Information to uniquely identify the data or service.
  org.apache.sis.metadata.iso.lineage
  Information about the sources and production processes of a dataset.
  org.apache.sis.metadata.iso.maintenance
  Information about the frequency and scope of data updates.
  org.apache.sis.metadata.iso.quality
  Information about data quality, accuracy and consistency of a dataset.
  org.apache.sis.metadata.iso.spatial
  Information about the mechanisms (grid or vector) used to represent spatial data.
- Classes
  Class
  Description
  DefaultApplicationSchemaInformation
  Information about the application schema used to build the dataset.
  DefaultExtendedElementInformation
  New metadata element, not found in ISO 19115, which is required to describe geographic data.
  DefaultIdentifier
  Value uniquely identifying an object within a namespace.
  DefaultMetadata
  Root entity which defines metadata about a resource or resources.
  DefaultMetadataExtensionInformation
  Information describing metadata extensions.
  DefaultMetadataScope
  Information about the scope of the resource.
  DefaultPortrayalCatalogueReference
  Information identifying the portrayal catalogue used.
  ISOMetadata
  The base class of ISO 19115 implementation classes.