Package org.apache.sis.util

## Interface Deprecable

- All Known Implementing Classes:
    `AbstractCoordinateOperation`, `AbstractCRS`, `AbstractCS`, `AbstractDatum`, `AbstractIdentifiedObject`, `AbstractIdentifiedType`, `AbstractOperation`, `AbstractParameterDescriptor`, `AbstractReferenceSystem`, `DefaultAffineCS`, `DefaultAssociationRole`, `DefaultAttributeType`, `DefaultCartesianCS`, `DefaultCompoundCRS`, `DefaultCompoundCS`, `DefaultConversion`, `DefaultCoordinateSystemAxis`, `DefaultCylindricalCS`, `DefaultDerivedCRS`, `DefaultEllipsoid`, `DefaultEllipsoidalCS`, `DefaultEngineeringCRS`, `DefaultEngineeringDatum`, `DefaultFeatureType`, `DefaultGeocentricCRS`, `DefaultGeodeticDatum`, `DefaultGeographicCRS`, `DefaultImageCRS`, `DefaultImageDatum`, `DefaultLinearCS`, `DefaultOperationMethod`, `DefaultParameterDescriptor`, `DefaultParameterDescriptorGroup`, `DefaultParametricCRS`, `DefaultParametricCS`, `DefaultParametricDatum`, `DefaultPassThroughOperation`, `DefaultPolarCS`, `DefaultPrimeMeridian`, `DefaultProjectedCRS`, `DefaultSphericalCS`, `DefaultTemporalCRS`, `DefaultTemporalDatum`, `DefaultTimeCS`, `DefaultTransformation`, `DefaultUserDefinedCS`, `DefaultVerticalCRS`, `DefaultVerticalCS`, `DefaultVerticalDatum`, `GeohashReferenceSystem`, `MilitaryGridReferenceSystem`, `ReferencingByIdentifiers`

      public interface Deprecable

  Interface of classes for which deprecated instances may exist. Despite the name, the entities deprecated by this interface are unrelated to the entities deprecated by the Java `Deprecated` annotation. This interface is for identifying deprecated data rather than language constructs.
  Example: When an error is discovered in the definition of a Coordinate Reference System (CRS) in the EPSG database, the EPSG maintainers do not change the data. Instead, they deprecate the erroneous definition and create a new one with a new EPSG code. The `isDeprecated()` method in this interface allows users to identify CRS instances created from such deprecated database records, for example in order to log a warning when data are projected to a deprecated CRS.
  Some examples of deprecated instances are:
  - An `AbstractIdentifiedObject` (typically a CRS) which has been built from a deprecated EPSG code.
  - A `NamedIdentifier` containing the legacy name of an object which has been renamed.
  Since:
    0.3

  Defined in the `sis-utility` module

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `InternationalString` | `getRemarks()` | If this instance is deprecated, the reason or the alternative to use.
    `boolean` | `isDeprecated()` | Returns `true` if this instance is deprecated.

- - ### Method Detail

    - #### isDeprecated

          boolean isDeprecated()

      Returns `true` if this instance is deprecated. In such case, the remarks may contain information about the new object to use.
      Returns:
        `true` if this instance is deprecated.

    - #### getRemarks

          InternationalString getRemarks()

      If this instance is deprecated, the reason or the alternative to use. Otherwise, an optional free text.
      Example: "superseded by code XYZ".
      Returns:
        comments about this instance, or `null` if none. Shall be the reason for deprecation or the alternative to use if this instance is deprecated.