# Class DefaultUsability

Object
AbstractMetadata
ModifiableMetadata
ISOMetadata
AbstractElement
DefaultUsability

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

@Deprecated(since="1.3") public class DefaultUsability extends AbstractElement implements Usability
Deprecated.
Removed from latest ISO 19157 standard.
Degree of adherence of a dataset to a specific set of user requirements.

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
  `DefaultUsability()`
  Deprecated.
  Constructs an initially empty usability.
  `DefaultUsability(Usability object)`
  Deprecated.
  Constructs a new instance initialized with the values from the specified metadata object.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static DefaultUsability`
  `castOrCopy(Usability object)`
  Deprecated.
  Returns a SIS metadata implementation with the values of the given arbitrary implementation.
  `MetadataStandard`
  `getStandard()`
  Returns the metadata standard, which is ISO 19157.

  ### Methods inherited from class AbstractElement

  `castOrCopy, getDates, getDerivedElements, getEvaluationMethod, getEvaluationMethodDescription, getEvaluationMethodType, getEvaluationProcedure, getMeasureDescription, getMeasureIdentification, getMeasureReference, getNamesOfMeasure, getResults, getStandaloneQualityReportDetails, setDates, setDerivedElements, setEvaluationMethod, setEvaluationMethodDescription, setEvaluationMethodType, setEvaluationProcedure, setMeasureDescription, setMeasureIdentification, setMeasureReference, setNamesOfMeasure, setResults, setStandaloneQualityReportDetails`

  ### Methods inherited from class ISOMetadata

  `getIdentifier, getIdentifierMap, getIdentifiers, setIdentifier`

  ### Methods inherited from class ModifiableMetadata

  `checkWritePermission, 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`

  ### Methods inherited from interface Element

  `getDates, getEvaluationMethodDescription, getEvaluationMethodType, getEvaluationProcedure, getMeasureDescription, getMeasureIdentification, getNamesOfMeasure, getResults`

- ## Constructor Details

  - ### DefaultUsability

    public DefaultUsability()
    Deprecated.
    Constructs an initially empty usability.

  - ### DefaultUsability

    public DefaultUsability(Usability object)
    Deprecated.
    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(Usability)`

- ## Method Details

  - ### castOrCopy

    public static DefaultUsability castOrCopy(Usability object)
    Deprecated.
    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 `DefaultUsability`, then it is returned unchanged.
    - Otherwise a new `DefaultUsability` 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.

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