Package org.apache.sis.profile.france

## Class FrenchProfile

- Object
- - Static
  - - FrenchProfile

-     public final class FrenchProfile
      extends Static

  Provides implementations of French extensions defined by AFNOR.
  Since:
    0.4

  Defined in the `sis-french-profile` module

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static String` | `NAMESPACE` | The `"http://www​.cnig​.gouv​.fr/2005/fra"` URL.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static Object` | `toAFNOR​(Object metadata)` | Returns the given metadata object as an AFNOR-compliant instance.
    `static ReferenceSystem` | `toAFNOR​(ReferenceSystem rs, boolean indirect)` | Returns the given given reference system as an AFNOR-compliant instance.

    - ### Methods inherited from class Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### NAMESPACE

          public static final String NAMESPACE

      The `"http://www​.cnig​.gouv​.fr/2005/fra"` URL. The usual prefix for this namespace is `"fra"`.
      See Also:
        `Namespaces`, Constant Field Values

  - ### Method Detail

    - #### toAFNOR

          public static Object toAFNOR​(Object metadata)

      Returns the given metadata object as an AFNOR-compliant instance. The current implementation recognizes the following types:

      AFNOR extensions to ISO 19115
      GeoAPI type | AFNOR XML element
      --- | ---
      `DataIdentification` | `FRA_DataIdentification`
      `Constraints` | `FRA_Constraints`
      `LegalConstraints` | `FRA_LegalConstraints`
      `SecurityConstraints` | `FRA_SecurityConstraints`

      This method does not handle the `ReferenceSystem` type, because AFNOR requires to specify whether the system is direct or indirect. For reference system types, use `toAFNOR(ReferenceSystem, boolean)` instead.
      Parameters:
        `metadata` - the metadata to make AFNOR-compliant, or `null`.
      Returns:
        a copy of the metadata as an AFNOR-compliant object, or `metadata` if the metadata was `null`, does not have an AFNOR type, or was already of the appropriate type.

    - #### toAFNOR

          public static ReferenceSystem toAFNOR​(ReferenceSystem rs,
                                                boolean indirect)

      Returns the given given reference system as an AFNOR-compliant instance. AFNOR requires the reference systems to be either direct or indirect. Those two cases are represented by the following schema fragments:

      Direct:

      >     <complexType name="FRA_DirectReferenceSystem_Type">
      >       <complexContent>
      >         <extension base="{http://www.isotc211.org/2005/gmd}MD_ReferenceSystem_Type"/>
      >       </complexContent>
      >     </complexType>

      Indirect:

      >     <complexType name="FRA_IndirectReferenceSystem_Type">
      >       <complexContent>
      >         <extension base="{http://www.isotc211.org/2005/gmd}MD_ReferenceSystem_Type"/>
      >       </complexContent>
      >     </complexType>

      Parameters:
        `rs` - the reference system to make AFNOR-compliant, or `null`.
        `indirect` - `false` for `FRA_DirectReferenceSystem`, or `true` for `FRA_IndirectReferenceSystem`.
      Returns:
        a copy of the given reference system as an AFNOR-compliant object, or `rs` if the given reference system was `null` or already of the appropriate type.