Package org.apache.sis.metadata.iso.identification

## Class DefaultOperationChainMetadata

- Object
- - AbstractMetadata
  - - ModifiableMetadata
    - - ISOMetadata
      - - DefaultOperationChainMetadata

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

      @TitleProperty(name="name")
      @UML(identifier="SV_OperationChainMetadata",
           specification=ISO_19115)
      public class DefaultOperationChainMetadata
      extends ISOMetadata

  Operation chain information. The following properties are mandatory in a well-formed metadata according ISO 19115:
  `SV_OperationChainMetadata` `├─name………………………………………………………………………………` The name as used by the service for this chain. `└─operation…………………………………………………………………` Information about the operations applied by the chain. `├─operationName……………………………………………` A unique identifier for this interface. `├─distributedComputingPlatform……` Distributed computing platforms on which the operation has been implemented. `└─connectPoint………………………………………………` Handle for accessing the service interface. `└─linkage…………………………………………………` Location for on-line access using a URL address or similar addressing scheme.
  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 `OperationChainMetadata` 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
    --- | ---
    `DefaultOperationChainMetadata()` | Constructs an initially empty operation chain metadata.
    `DefaultOperationChainMetadata​(CharSequence name)` | Constructs a new operation chain metadata initialized to the specified name.
    `DefaultOperationChainMetadata​(DefaultOperationChainMetadata object)` | Constructs a new instance initialized with the values from the specified metadata object.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `InternationalString` | `getDescription()` | Returns a narrative explanation of the services in the chain and resulting output.
    `InternationalString` | `getName()` | Returns the name as used by the service for this chain.
    `List<DefaultOperationMetadata>` | `getOperations()` | Returns information about the operations applied by the chain.
    `void` | `setDescription​(InternationalString newValue)` | Sets the narrative explanation of the services in the chain and resulting output.
    `void` | `setName​(InternationalString newValue)` | Sets the name used by the service for this chain.
    `void` | `setOperations​(List<? extends DefaultOperationMetadata> newValues)` | Sets the information about the operations applied by the chain.

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

    - #### DefaultOperationChainMetadata

          public DefaultOperationChainMetadata()

      Constructs an initially empty operation chain metadata.

    - #### DefaultOperationChainMetadata

          public DefaultOperationChainMetadata​(CharSequence name)

      Constructs a new operation chain metadata initialized to the specified name.
      Parameters:
        `name` - the name as used by the service for this chain.

    - #### DefaultOperationChainMetadata

          public DefaultOperationChainMetadata​(DefaultOperationChainMetadata 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

    - #### getName

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

      Returns the name as used by the service for this chain.
      Returns:
        name as used by the service for this chain.

    - #### setName

          public void setName​(InternationalString newValue)

      Sets the name used by the service for this chain.
      Parameters:
        `newValue` - the new name used by the service for this chain.

    - #### getDescription

          @UML(identifier="description",
               obligation=OPTIONAL,
               specification=ISO_19115)
          public InternationalString getDescription()

      Returns a narrative explanation of the services in the chain and resulting output.
      Returns:
        narrative explanation of the services in the chain and resulting output, or `null` if none.

    - #### setDescription

          public void setDescription​(InternationalString newValue)

      Sets the narrative explanation of the services in the chain and resulting output.
      Parameters:
        `newValue` - the new a narrative explanation of the services in the chain and resulting output

    - #### getOperations

          @UML(identifier="operation",
               obligation=MANDATORY,
               specification=ISO_19115)
          public List<DefaultOperationMetadata> getOperations()

      Returns information about the operations applied by the chain.
      Upcoming API change — generalization
      The element type will be changed to the `OperationMetadata` interface when GeoAPI will provide it (tentatively in GeoAPI 3.1).
      Returns:
        information about the operations applied by the chain.

    - #### setOperations

          public void setOperations​(List<? extends DefaultOperationMetadata> newValues)

      Sets the information about the operations applied by the chain.
      Upcoming API change — generalization
      The element type will be changed to the `OperationMetadata` interface when GeoAPI will provide it (tentatively in GeoAPI 3.1).
      Parameters:
        `newValues` - the new information about the operations applied by the chain.