# Class FrenchProfile

Object
Static
FrenchProfile

public final class FrenchProfile extends Static
Provides implementations of French extensions defined by AFNOR.

Since:
  0.4

- ## Field Summary

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

- ## Method Summary

  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 Details

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

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