Package org.apache.sis.metadata.iso.lineage

## Class DefaultProcessing

- Object
- - AbstractMetadata
  - - ModifiableMetadata
    - - ISOMetadata
      - - DefaultProcessing

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

      public class DefaultProcessing
      extends ISOMetadata
      implements Processing

  Comprehensive information about the procedure(s), process(es) and algorithm(s) applied in the process step. The following properties are mandatory in a well-formed metadata according ISO 19115:
  `LE_Processing` `└─identifier……` Information to identify the processing package that produced the data. `└─code…………` Alphanumeric value identifying an instance in the namespace.

  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
    --- | ---
    `DefaultProcessing()` | Constructs an initially empty range element description.
    `DefaultProcessing​(Processing object)` | Constructs a new instance initialized with the values from the specified metadata object.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static DefaultProcessing` | `castOrCopy​(Processing object)` | Returns a SIS metadata implementation with the values of the given arbitrary implementation.
    `Collection<Algorithm>` | `getAlgorithms()` | Returns the details of the methodology by which geographic information was derived from the instrument readings.
    `Collection<Citation>` | `getDocumentations()` | Returns the reference to documentation describing the processing.
    `Identifier` | `getIdentifier()` | Returns the information to identify the processing package that produced the data.
    `InternationalString` | `getProcedureDescription()` | Returns the additional details about the processing procedures.
    `InternationalString` | `getRunTimeParameters()` | Returns the parameters to control the processing operations, entered at run time.
    `Collection<Citation>` | `getSoftwareReferences()` | Returns the reference to document describing processing software.
    `void` | `setAlgorithms​(Collection<? extends Algorithm> newValues)` | Sets the details of the methodology by which geographic information was derived from the instrument readings.
    `void` | `setDocumentations​(Collection<? extends Citation> newValues)` | Sets the reference to documentation describing the processing.
    `void` | `setIdentifier​(Identifier newValue)` | Sets the information to identify the processing package that produced the data.
    `void` | `setProcedureDescription​(InternationalString newValue)` | Sets the additional details about the processing procedures.
    `void` | `setRunTimeParameters​(InternationalString newValue)` | Sets the parameters to control the processing operations, entered at run time.
    `void` | `setSoftwareReferences​(Collection<? extends Citation> newValues)` | Sets the reference to document describing processing software.

    - ### Methods inherited from class ISOMetadata

      `getIdentifierMap, getIdentifiers, getStandard, 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

    - #### DefaultProcessing

          public DefaultProcessing()

      Constructs an initially empty range element description.

    - #### DefaultProcessing

          public DefaultProcessing​(Processing 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(Processing)`

  - ### Method Detail

    - #### castOrCopy

          public static DefaultProcessing castOrCopy​(Processing 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 `DefaultProcessing`, then it is returned unchanged.
      - Otherwise a new `DefaultProcessing` 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.

    - #### getIdentifier

          public Identifier getIdentifier()

      Returns the information to identify the processing package that produced the data.
      Specified by:
        `getIdentifier` in interface `Processing`
      Overrides:
        `getIdentifier` in class `ISOMetadata`
      Returns:
        identifier of the processing package that produced the data, or `null`.

    - #### setIdentifier

          public void setIdentifier​(Identifier newValue)

      Sets the information to identify the processing package that produced the data.
      Overrides:
        `setIdentifier` in class `ISOMetadata`
      Parameters:
        `newValue` - the new identifier value.

    - #### getSoftwareReferences

          public Collection<Citation> getSoftwareReferences()

      Returns the reference to document describing processing software.
      Specified by:
        `getSoftwareReferences` in interface `Processing`
      Returns:
        document describing processing software.

    - #### setSoftwareReferences

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

      Sets the reference to document describing processing software.
      Parameters:
        `newValues` - the new software references values.

    - #### getProcedureDescription

          public InternationalString getProcedureDescription()

      Returns the additional details about the processing procedures. `null` if unspecified.
      Specified by:
        `getProcedureDescription` in interface `Processing`
      Returns:
        processing procedures, or `null`.

    - #### setProcedureDescription

          public void setProcedureDescription​(InternationalString newValue)

      Sets the additional details about the processing procedures.
      Parameters:
        `newValue` - the new procedure description value.

    - #### getDocumentations

          public Collection<Citation> getDocumentations()

      Returns the reference to documentation describing the processing.
      Specified by:
        `getDocumentations` in interface `Processing`
      Returns:
        documentation describing the processing.

    - #### setDocumentations

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

      Sets the reference to documentation describing the processing.
      Parameters:
        `newValues` - the new documentations values.

    - #### getRunTimeParameters

          public InternationalString getRunTimeParameters()

      Returns the parameters to control the processing operations, entered at run time.
      Specified by:
        `getRunTimeParameters` in interface `Processing`
      Returns:
        parameters to control the processing operations, or `null`.

    - #### setRunTimeParameters

          public void setRunTimeParameters​(InternationalString newValue)

      Sets the parameters to control the processing operations, entered at run time.
      Parameters:
        `newValue` - the new runtime parameter value.

    - #### getAlgorithms

          public Collection<Algorithm> getAlgorithms()

      Returns the details of the methodology by which geographic information was derived from the instrument readings.
      Specified by:
        `getAlgorithms` in interface `Processing`
      Returns:
        methodology by which geographic information was derived from the instrument readings.

    - #### setAlgorithms

          public void setAlgorithms​(Collection<? extends Algorithm> newValues)

      Sets the details of the methodology by which geographic information was derived from the instrument readings.
      Parameters:
        `newValues` - the new algorithms values.