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

  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, collectionType, copyCollection, copyList, copyMap, copySet, deepCopy, nonNullCollection, nonNullList, nonNullMap, nonNullSet, singleton, state, 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 Details

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

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