# Class DefaultSourceReference

Object
AbstractMetadata
ModifiableMetadata
ISOMetadata
DefaultSourceReference

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

@UML(identifier="DQM_SourceReference", specification=UNSPECIFIED) public class DefaultSourceReference extends ISOMetadata
Reference to the source of the data quality measure. The following property is mandatory in a well-formed metadata according ISO 19157:
`DQM_SourceReference` `└─citation……………` References to the source.

## 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:
  1.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
  `DefaultSourceReference()`
  Constructs an initially empty source reference.
  `DefaultSourceReference(DefaultSourceReference object)`
  Constructs a new instance initialized with the values from the specified metadata object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Citation`
  `getCitation()`
  Returns the references to the source.
  `MetadataStandard`
  `getStandard()`
  Returns the metadata standard, which is ISO 19157.
  `void`
  `setCitation(Citation newValue)`
  Sets the references to the source.

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

  - ### DefaultSourceReference

    public DefaultSourceReference()
    Constructs an initially empty source reference.

  - ### DefaultSourceReference

    public DefaultSourceReference(DefaultSourceReference 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.

- ## Method Details

  - ### getCitation

    @UML(identifier="citation", obligation=MANDATORY, specification=UNSPECIFIED) public Citation getCitation()
    Returns the references to the source.
    Returns:
      reference to the source.

  - ### setCitation

    public void setCitation(Citation newValue)
    Sets the references to the source.
    Parameters:
      `newValue` - the new source references.

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