Package org.apache.sis.metadata.iso

## Class DefaultMetadataScope

- Object
- - AbstractMetadata
  - - ModifiableMetadata
    - - ISOMetadata
      - - DefaultMetadataScope

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

      @UML(identifier="MD_MetadataScope",
           specification=ISO_19115)
      public class DefaultMetadataScope
      extends ISOMetadata

  Information about the scope of the resource. The following property is mandatory in a well-formed metadata according ISO 19115:
  `MD_MetadataScope` `└─resourceScope……` Resource scope
  Note on International Standard versions
  This class is derived from a new type defined in the ISO 19115 international standard published in 2014, while GeoAPI 3.0 is based on the version published in 2003. Consequently this implementation class does not yet implement a GeoAPI interface, but is expected to do so after the next GeoAPI releases. When the interface will become available, all references to this implementation class in Apache SIS will be replaced be references to the `MetadataScope` interface.

  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.5
  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
    --- | ---
    `DefaultMetadataScope()` | Constructs an initially empty metadata scope.
    `DefaultMetadataScope​(DefaultMetadataScope object)` | Constructs a new instance initialized with the values from the specified metadata object.
    `DefaultMetadataScope​(ScopeCode resourceScope, CharSequence name)` | Constructs a metadata scope initialized to the given value.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `InternationalString` | `getName()` | Returns a description of the scope, or `null` if none.
    `ScopeCode` | `getResourceScope()` | Returns the code for the scope.
    `void` | `setName​(InternationalString newValue)` | Sets the description of the scope.
    `void` | `setResourceScope​(ScopeCode newValue)` | Sets the code for the scope.

    - ### 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

    - #### DefaultMetadataScope

          public DefaultMetadataScope()

      Constructs an initially empty metadata scope.

    - #### DefaultMetadataScope

          public DefaultMetadataScope​(ScopeCode resourceScope,
                                      CharSequence name)

      Constructs a metadata scope initialized to the given value.
      Parameters:
        `resourceScope` - code for the scope.
        `name` - description of the scope, or `null` if none.

    - #### DefaultMetadataScope

          public DefaultMetadataScope​(DefaultMetadataScope 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.

  - ### Method Detail

    - #### getResourceScope

          @UML(identifier="resourceScope",
               obligation=MANDATORY,
               specification=ISO_19115)
          public ScopeCode getResourceScope()

      Returns the code for the scope.
      Returns:
        the code for the scope.

    - #### setResourceScope

          public void setResourceScope​(ScopeCode newValue)

      Sets the code for the scope.
      Parameters:
        `newValue` - the new code for the scope.

    - #### getName

          @UML(identifier="name",
               obligation=OPTIONAL,
               specification=ISO_19115)
          public InternationalString getName()

      Returns a description of the scope, or `null` if none.
      Returns:
        description of the scope, or `null` if none.

    - #### setName

          public void setName​(InternationalString newValue)

      Sets the description of the scope.
      Parameters:
        `newValue` - the new description of the scope.