Package org.apache.sis.metadata.iso.content

## Class DefaultFeatureCatalogueDescription

- Object
- - AbstractMetadata
  - - ModifiableMetadata
    - - ISOMetadata
      - - AbstractContentInformation
        - - DefaultFeatureCatalogueDescription

- All Implemented Interfaces:
    `Serializable`, `Emptiable`, `LenientComparable`, `IdentifiedObject`, `ContentInformation`, `FeatureCatalogueDescription`

      public class DefaultFeatureCatalogueDescription
      extends AbstractContentInformation
      implements FeatureCatalogueDescription

  Information identifying the feature catalogue or the conceptual schema. The following properties are mandatory in a well-formed metadata according ISO 19115:
  `MD_FeatureCatalogueDescription` `├─includedWithDataset…………………` Indication of whether or not the feature catalogue is included with the dataset. `└─featureCatalogueCitation……` Complete bibliographic reference to one or more external feature catalogues. `├─title……………………………………………` Name by which the cited resource is known. `└─date………………………………………………` Reference date for the cited resource.

  Limitations:

  - Instances of this class are not synchronized for multi-threading. Synchronization, if needed, is caller's responsibility.
  - Serialized objects of this class are not guaranteed to be compatible with future Apache SIS releases. Serialization support is appropriate for short term storage or RMI between applications running the same version of Apache SIS. For long term storage, use `XML` instead.
  Since:
    0.3
  See Also:
    Serialized Form

  Defined in the `sis-metadata` module

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class ModifiableMetadata

      `ModifiableMetadata​.State`

  - ### Field Summary

    - ### Fields inherited from class ISOMetadata

      `identifiers`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DefaultFeatureCatalogueDescription()` | Constructs an initially empty feature catalogue description.
    `DefaultFeatureCatalogueDescription​(FeatureCatalogueDescription object)` | Constructs a new instance initialized with the values from the specified metadata object.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static DefaultFeatureCatalogueDescription` | `castOrCopy​(FeatureCatalogueDescription object)` | Returns a SIS metadata implementation with the values of the given arbitrary implementation.
    `Collection<Citation>` | `getFeatureCatalogueCitations()` | Returns the complete bibliographic reference to one or more external feature catalogues.
    `Collection<DefaultFeatureTypeInfo>` | `getFeatureTypeInfo()` | Returns the subset of feature types from cited feature catalogue occurring in resource.
    `Collection<GenericName>` | `getFeatureTypes()` | Deprecated. As of ISO 19115:2014, replaced by `getFeatureTypeInfo()`.
    `Collection<Locale>` | `getLanguages()` | Deprecated. Replaced by `getLocalesAndCharsets()​.keySet()`.
    `Map<Locale,​Charset>` | `getLocalesAndCharsets()` | Returns the language(s) and character set(s) used within the catalogue.
    `Boolean` | `isCompliant()` | Returns whether or not the cited feature catalogue complies with ISO 19110.
    `boolean` | `isIncludedWithDataset()` | Returns whether or not the feature catalogue is included with the resource.
    `void` | `setCompliant​(Boolean newValue)` | Sets whether or not the cited feature catalogue complies with ISO 19110.
    `void` | `setFeatureCatalogueCitations​(Collection<? extends Citation> newValues)` | Sets the complete bibliographic reference to one or more external feature catalogues.
    `void` | `setFeatureTypeInfo​(Collection<? extends DefaultFeatureTypeInfo> newValues)` | Sets the subset of feature types from cited feature catalogue occurring in resource.
    `void` | `setFeatureTypes​(Collection<? extends GenericName> newValues)` | Deprecated. As of ISO 19115:2014, replaced by `setFeatureTypeInfo(Collection)`.
    `void` | `setIncludedWithDataset​(boolean newValue)` | Sets whether or not the feature catalogue is included with the resource.
    `void` | `setLanguages​(Collection<? extends Locale> newValues)` | Deprecated. Replaced by putting keys in `getLocalesAndCharsets()` map.
    `void` | `setLocalesAndCharsets​(Map<? extends Locale,​? extends Charset> newValues)` | Sets the language(s) and character set(s) used within the catalogue.

    - ### Methods inherited from class AbstractContentInformation

      `castOrCopy`

    - ### Methods inherited from class ISOMetadata

      `getIdentifier, getIdentifierMap, getIdentifiers, getStandard, setIdentifier, transitionTo`

    - ### Methods inherited from class ModifiableMetadata

      `checkWritePermission, checkWritePermission, collectionType, copyCollection, copyList, copyMap, copySet, freeze, isModifiable, nonNullCollection, nonNullList, nonNullMap, nonNullSet, singleton, state, unmodifiable, writeCollection, writeList, writeMap, writeSet`

    - ### Methods inherited from class AbstractMetadata

      `asMap, asTreeTable, equals, equals, getInterface, hashCode, isEmpty, prune, toString`

    - ### Methods inherited from class Object

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

- - ### Constructor Detail

    - #### DefaultFeatureCatalogueDescription

          public DefaultFeatureCatalogueDescription()

      Constructs an initially empty feature catalogue description.

    - #### DefaultFeatureCatalogueDescription

          public DefaultFeatureCatalogueDescription​(FeatureCatalogueDescription object)

      Constructs a new instance initialized with the values from the specified metadata object. This is a shallow copy constructor, since the other metadata contained in the given object are not recursively copied.
      Parameters:
        `object` - the metadata to copy values from, or `null` if none.
      See Also:
        `castOrCopy(FeatureCatalogueDescription)`

  - ### Method Detail

    - #### castOrCopy

          public static DefaultFeatureCatalogueDescription castOrCopy​(FeatureCatalogueDescription object)

      Returns a SIS metadata implementation with the values of the given arbitrary implementation. This method performs the first applicable action in the following choices:
      - If the given object is `null`, then this method returns `null`.
      - Otherwise if the given object is already an instance of `DefaultFeatureCatalogueDescription`, then it is returned unchanged.
      - Otherwise a new `DefaultFeatureCatalogueDescription` instance is created using the copy constructor and returned. Note that this is a shallow copy operation, since the other metadata contained in the given object are not recursively copied.
      Parameters:
        `object` - the object to get as a SIS implementation, or `null` if none.
      Returns:
        a SIS implementation containing the values of the given object (may be the given object itself), or `null` if the argument was null.

    - #### isCompliant

          public Boolean isCompliant()

      Returns whether or not the cited feature catalogue complies with ISO 19110.
      Specified by:
        `isCompliant` in interface `FeatureCatalogueDescription`
      Returns:
        whether or not the cited feature catalogue complies with ISO 19110, or `null`.

    - #### setCompliant

          public void setCompliant​(Boolean newValue)

      Sets whether or not the cited feature catalogue complies with ISO 19110.
      Parameters:
        `newValue` - the new compliance value.

    - #### getLocalesAndCharsets

          @UML(identifier="locale",
               obligation=CONDITIONAL,
               specification=ISO_19115)
          public Map<Locale,​Charset> getLocalesAndCharsets()

      Returns the language(s) and character set(s) used within the catalogue.
      Returns:
        language(s) and character set(s) used within the catalogue.
      Since:
        1.0

    - #### setLocalesAndCharsets

          public void setLocalesAndCharsets​(Map<? extends Locale,​? extends Charset> newValues)

      Sets the language(s) and character set(s) used within the catalogue.
      Parameters:
        `newValues` - the new language(s) and character set(s) used within the catalogue.
      Since:
        1.0

    - #### getLanguages

          @Deprecated
          public Collection<Locale> getLanguages()

      Deprecated.
      Replaced by `getLocalesAndCharsets()​.keySet()`.
      Returns the language(s) used within the catalogue.
      Specified by:
        `getLanguages` in interface `FeatureCatalogueDescription`
      Returns:
        language(s) used within the catalogue.

    - #### setLanguages

          @Deprecated
          public void setLanguages​(Collection<? extends Locale> newValues)

      Deprecated.
      Replaced by putting keys in `getLocalesAndCharsets()` map.
      Sets the language(s) used within the catalogue.
      Parameters:
        `newValues` - the new languages.

    - #### isIncludedWithDataset

          public boolean isIncludedWithDataset()

      Returns whether or not the feature catalogue is included with the resource.
      Specified by:
        `isIncludedWithDataset` in interface `FeatureCatalogueDescription`
      Returns:
        whether or not the feature catalogue is included with the resource.

    - #### setIncludedWithDataset

          public void setIncludedWithDataset​(boolean newValue)

      Sets whether or not the feature catalogue is included with the resource.
      Parameters:
        `newValue` - `true` if the feature catalogue is included.

    - #### getFeatureTypeInfo

          @UML(identifier="featureTypes",
               obligation=OPTIONAL,
               specification=ISO_19115)
          public Collection<DefaultFeatureTypeInfo> getFeatureTypeInfo()

      Returns the subset of feature types from cited feature catalogue occurring in resource.
      Upcoming API change — generalization
      The element type will be changed to the `FeatureTypeInfo` interface when GeoAPI will provide it (tentatively in GeoAPI 3.1).
      Returns:
        subset of feature types occurring in resource.
      Since:
        0.5

    - #### setFeatureTypeInfo

          public void setFeatureTypeInfo​(Collection<? extends DefaultFeatureTypeInfo> newValues)

      Sets the subset of feature types from cited feature catalogue occurring in resource.
      Upcoming API change — generalization
      The element type will be changed to the `FeatureTypeInfo` interface when GeoAPI will provide it (tentatively in GeoAPI 3.1).
      Parameters:
        `newValues` - the new feature types.
      Since:
        0.5

    - #### getFeatureTypes

          @Deprecated
          public final Collection<GenericName> getFeatureTypes()

      Deprecated.
      As of ISO 19115:2014, replaced by `getFeatureTypeInfo()`.
      Returns the names of feature types.
      Specified by:
        `getFeatureTypes` in interface `FeatureCatalogueDescription`
      Returns:
        the feature type names.

    - #### setFeatureTypes

          @Deprecated
          public void setFeatureTypes​(Collection<? extends GenericName> newValues)

      Deprecated.
      As of ISO 19115:2014, replaced by `setFeatureTypeInfo(Collection)`.
      Sets the names of feature types.
      Parameters:
        `newValues` - the new feature type names.

    - #### getFeatureCatalogueCitations

          public Collection<Citation> getFeatureCatalogueCitations()

      Returns the complete bibliographic reference to one or more external feature catalogues.
      Specified by:
        `getFeatureCatalogueCitations` in interface `FeatureCatalogueDescription`
      Returns:
        bibliographic reference to one or more external feature catalogues.

    - #### setFeatureCatalogueCitations

          public void setFeatureCatalogueCitations​(Collection<? extends Citation> newValues)

      Sets the complete bibliographic reference to one or more external feature catalogues.
      Parameters:
        `newValues` - the feature catalogue citations.