# Class DefaultConformanceResult

Object
AbstractMetadata
ModifiableMetadata
ISOMetadata
AbstractResult
DefaultConformanceResult

All Implemented Interfaces:
  `Serializable`, `Emptiable`, `LenientComparable`, `IdentifiedObject`, `ConformanceResult`, `Result`

public class DefaultConformanceResult extends AbstractResult implements ConformanceResult
Information about the outcome of evaluating the value(s) against a specified acceptable conformance quality level. See the `ConformanceResult` GeoAPI interface for more details. The following properties are mandatory in a well-formed metadata according ISO 19157:
`DQ_ConformanceResult` `├─specification……………` Citation of product specification or user requirement against which data is being evaluated. `│ ├─title………………………` Name by which the cited resource is known. `│ └─date…………………………` Reference date for the cited resource. `└─pass……………………………………` Indication of the conformance result.

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

- ## 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
  `DefaultConformanceResult()`
  Constructs an initially empty conformance result.
  `DefaultConformanceResult(Citation specification, CharSequence explanation, boolean pass)`
  Creates a conformance result initialized to the given values.
  `DefaultConformanceResult(ConformanceResult object)`
  Constructs a new instance initialized with the values from the specified metadata object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static DefaultConformanceResult`
  `castOrCopy(ConformanceResult object)`
  Returns a SIS metadata implementation with the values of the given arbitrary implementation.
  `InternationalString`
  `getExplanation()`
  Returns the explanation of the meaning of conformance for this result.
  `Citation`
  `getSpecification()`
  Returns the citation of product specification or user requirement against which data is being evaluated.
  `MetadataStandard`
  `getStandard()`
  Returns the metadata standard, which is ISO 19157.
  `Boolean`
  `pass()`
  Returns an indication of the conformance result.
  `void`
  `setExplanation(InternationalString newValue)`
  Sets the explanation of the meaning of conformance for this result.
  `void`
  `setPass(Boolean newValue)`
  Sets the indication of the conformance result.
  `void`
  `setSpecification(Citation newValue)`
  Sets the citation of product specification or user requirement against which data is being evaluated.

  ### Methods inherited from class AbstractResult

  `castOrCopy, getDateTime, getResultScope, setDateTime, setResultScope`

  ### Methods inherited from class ISOMetadata

  `getIdentifier, getIdentifierMap, getIdentifiers, setIdentifier`

  ### 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, clone, equals, equals, getInterface, hashCode, isEmpty, nilReasons, prune, toString`

  ### Methods inherited from class Object

  `finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### DefaultConformanceResult

    public DefaultConformanceResult()
    Constructs an initially empty conformance result.

  - ### DefaultConformanceResult

    public DefaultConformanceResult(Citation specification, CharSequence explanation, boolean pass)
    Creates a conformance result initialized to the given values.
    Parameters:
      `specification` - specification or requirement against which data is being evaluated, or `null`.
      `explanation` - the meaning of conformance for this result, or `null`.
      `pass` - indication of the conformance result, or `null`.

  - ### DefaultConformanceResult

    public DefaultConformanceResult(ConformanceResult object)
    Constructs a new instance initialized with the values from the specified metadata object. This is a shallow copy constructor, because 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(ConformanceResult)`

- ## Method Details

  - ### castOrCopy

    public static DefaultConformanceResult castOrCopy(ConformanceResult 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 `DefaultConformanceResult`, then it is returned unchanged.
    - Otherwise a new `DefaultConformanceResult` instance is created using the copy constructor and returned. Note that this is a shallow copy operation, because 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.

  - ### getSpecification

    public Citation getSpecification()
    Returns the citation of product specification or user requirement against which data is being evaluated.
    Specified by:
      `getSpecification` in interface `ConformanceResult`
    Returns:
      citation of product specification or user requirement, or `null`.

  - ### setSpecification

    public void setSpecification(Citation newValue)
    Sets the citation of product specification or user requirement against which data is being evaluated.
    Parameters:
      `newValue` - the new specification.

  - ### getExplanation

    public InternationalString getExplanation()
    Returns the explanation of the meaning of conformance for this result.
    Specified by:
      `getExplanation` in interface `ConformanceResult`
    Returns:
      explanation of the meaning of conformance, or `null`.

  - ### setExplanation

    public void setExplanation(InternationalString newValue)
    Sets the explanation of the meaning of conformance for this result.
    Parameters:
      `newValue` - the new explanation.

  - ### pass

    public Boolean pass()
    Returns an indication of the conformance result. If this method returns `null`, then
    invalid reference

        #getNilReason()

    gives the reason why.
    Specified by:
      `pass` in interface `ConformanceResult`
    Returns:
      indication of the conformance result, or `null`.

  - ### setPass

    public void setPass(Boolean newValue)
    Sets the indication of the conformance result.
    Parameters:
      `newValue` - `true` if the test pass.

  - ### getStandard

    public MetadataStandard getStandard()
    Returns the metadata standard, which is ISO 19157.
    Overrides:
      `getStandard` in class `ISOMetadata`
    Returns:
      the metadata standard, which is ISO 19157.