Package org.apache.sis.metadata.iso.quality

## Class DefaultQuantitativeResult

- Object
- - AbstractMetadata
  - - ModifiableMetadata
    - - ISOMetadata
      - - AbstractResult
        - - DefaultQuantitativeResult

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

      public class DefaultQuantitativeResult
      extends AbstractResult
      implements QuantitativeResult

  Information about the value (or set of values) obtained from applying a data quality measure. The following properties are mandatory in a well-formed metadata according ISO 19115:
  `DQ_QuantitativeResult` `├─valueUnit……………………` Value unit for reporting a data quality result. `└─value………………………………` Quantitative value or values, content determined by the evaluation procedure used.

  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
    --- | ---
    `DefaultQuantitativeResult()` | Constructs an initially empty quantitative result.
    `DefaultQuantitativeResult​(QuantitativeResult 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 DefaultQuantitativeResult` | `castOrCopy​(QuantitativeResult object)` | Returns a SIS metadata implementation with the values of the given arbitrary implementation.
    `InternationalString` | `getErrorStatistic()` | Returns the statistical method used to determine the value.
    `List<Record>` | `getValues()` | Returns the quantitative value or values, content determined by the evaluation procedure used.
    `RecordType` | `getValueType()` | Return the value type for reporting a data quality result.
    `Unit<?>` | `getValueUnit()` | Returns the value unit for reporting a data quality result.
    `void` | `setErrorStatistic​(InternationalString newValue)` | Sets the statistical method used to determine the value, or `null` if none.
    `void` | `setValues​(List<? extends Record> newValues)` | Sets the quantitative value or values, content determined by the evaluation procedure used.
    `void` | `setValueType​(RecordType newValue)` | Sets the value type for reporting a data quality result.
    `void` | `setValueUnit​(Unit<?> newValue)` | Sets the value unit for reporting a data quality result.

    - ### Methods inherited from class AbstractResult

      `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

    - #### DefaultQuantitativeResult

          public DefaultQuantitativeResult()

      Constructs an initially empty quantitative result.

    - #### DefaultQuantitativeResult

          public DefaultQuantitativeResult​(QuantitativeResult 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(QuantitativeResult)`

  - ### Method Detail

    - #### castOrCopy

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

    - #### getValues

          public List<Record> getValues()

      Returns the quantitative value or values, content determined by the evaluation procedure used.
      Specified by:
        `getValues` in interface `QuantitativeResult`
      Returns:
        Quantitative value or values.

    - #### setValues

          public void setValues​(List<? extends Record> newValues)

      Sets the quantitative value or values, content determined by the evaluation procedure used.
      Parameters:
        `newValues` - the new values.

    - #### getValueType

          public RecordType getValueType()

      Return the value type for reporting a data quality result.
      Default value
      If no type has been set but all values are of the same type, then this method defaults to that type. Otherwise this method returns `null`.
      Specified by:
        `getValueType` in interface `QuantitativeResult`
      Returns:
        value type for reporting a data quality result, or `null`.

    - #### setValueType

          public void setValueType​(RecordType newValue)

      Sets the value type for reporting a data quality result. A `null` value restores the default value documented in `getValueType()`.
      Parameters:
        `newValue` - the new value type.

    - #### getValueUnit

          public Unit<?> getValueUnit()

      Returns the value unit for reporting a data quality result.
      Specified by:
        `getValueUnit` in interface `QuantitativeResult`
      Returns:
        value unit for reporting a data quality result, or `null`.

    - #### setValueUnit

          public void setValueUnit​(Unit<?> newValue)

      Sets the value unit for reporting a data quality result.
      Parameters:
        `newValue` - the new value unit.

    - #### getErrorStatistic

          public InternationalString getErrorStatistic()

      Returns the statistical method used to determine the value.
      Specified by:
        `getErrorStatistic` in interface `QuantitativeResult`
      Returns:
        statistical method used to determine the value, or `null`.
      See Also:
        Issue SIS-394

    - #### setErrorStatistic

          public void setErrorStatistic​(InternationalString newValue)

      Sets the statistical method used to determine the value, or `null` if none.
      Parameters:
        `newValue` - the new error statistic.