Package org.apache.sis.parameter

## Enum ParameterFormat.ContentLevel

- Object
- - Enum<ParameterFormat.ContentLevel>
  - - ContentLevel

- All Implemented Interfaces:
    `Serializable`, `Comparable<ParameterFormat​.ContentLevel>`
  Enclosing class:
    ParameterFormat

      public static enum ParameterFormat.ContentLevel
      extends Enum<ParameterFormat.ContentLevel>

  The amount of information to include in the table formatted by `ParameterFormat`. The content level controls whether the formatter should write all names and aliases (at the cost of multi-line rows), or to pickup one name per parameter for a more compact table.

  The enumeration value javadoc provide examples of formatting output.

  Since:
    0.4

  Defined in the `sis-referencing` module

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---
    `BRIEF` | A medium level of content which formats each parameter on a single line.
    `DETAILED` | The most detailed content, which includes name and aliases.
    `NAME_SUMMARY` | Limits the content to names and aliases in a tabular format.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static ParameterFormat.ContentLevel` | `valueOf​(String name)` | Returns the enum constant of this type with the specified name.
    `static ParameterFormat.ContentLevel[]` | `values()` | Returns an array containing the constants of this enum type, in the order they are declared.

    - ### Methods inherited from class Enum

      `clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

    - ### Methods inherited from class Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Enum Constant Detail

    - #### DETAILED

          public static final ParameterFormat.ContentLevel DETAILED

      The most detailed content, which includes name and aliases. Each parameter may be formatted on many lines if they have aliases.
      Example: The Mercator (variant A) example given in `DefaultParameterDescriptorGroup` javadoc, (augmented with parameter aliases) formatted at this level produces a text like below:

      >     EPSG: Mercator (variant A) (9804)
      >     EPSG: Mercator (1SP)
      >     OGC:  Mercator_1SP
      >     ╔══════════════════════════════════════╤════════╤════════════╤═══════════════╤═══════════════╗
      >     ║ Name                                 │ Type   │ Obligation │ Value domain  │ Default value ║
      >     ╟──────────────────────────────────────┼────────┼────────────┼───────────────┼───────────────╢
      >     ║ EPSG: Latitude of natural origin     │ Double │ Mandatory  │  [-80 … 84]°  │         0.0°  ║
      >     ║ OGC:  latitude_of_origin             │        │            │               │               ║
      >     ╟──────────────────────────────────────┼────────┼────────────┼───────────────┼───────────────╢
      >     ║ EPSG: Longitude of natural origin    │ Double │ Mandatory  │ [-180 … 180]° │         0.0°  ║
      >     ║ OGC:  central_meridian               │        │            │               │               ║
      >     ╟──────────────────────────────────────┼────────┼────────────┼───────────────┼───────────────╢
      >     ║ EPSG: Scale factor at natural origin │ Double │ Mandatory  │    (0 … ∞)    │         1.0   ║
      >     ║ OGC:  scale_factor                   │        │            │               │               ║
      >     ╟──────────────────────────────────────┼────────┼────────────┼───────────────┼───────────────╢
      >     ║ EPSG: False easting                  │ Double │ Mandatory  │   (−∞ … ∞) m  │         0.0 m ║
      >     ║ OGC:  false_easting                  │        │            │               │               ║
      >     ╟──────────────────────────────────────┼────────┼────────────┼───────────────┼───────────────╢
      >     ║ EPSG: False northing                 │ Double │ Mandatory  │   (−∞ … ∞) m  │         0.0 m ║
      >     ║ OGC:  false_northing                 │        │            │               │               ║
      >     ╚══════════════════════════════════════╧════════╧════════════╧═══════════════╧═══════════════╝

    - #### BRIEF

          public static final ParameterFormat.ContentLevel BRIEF

      A medium level of content which formats each parameter on a single line. For each parameter only the name is formatted — aliases and identifiers are omitted.
      Example: The Mercator (variant A) example given in `DefaultParameterDescriptorGroup` javadoc formatted at this level produces a text like below:

      >     EPSG: Mercator (variant A)
      >     ┌────────────────────────────────┬────────┬────────────┬───────────────┬───────────────┐
      >     │ Name (EPSG)                    │ Type   │ Obligation │ Value domain  │ Default value │
      >     ├────────────────────────────────┼────────┼────────────┼───────────────┼───────────────┤
      >     │ Latitude of natural origin     │ Double │ Mandatory  │  [-80 … 84]°  │         0.0°  │
      >     │ Longitude of natural origin    │ Double │ Mandatory  │ [-180 … 180]° │         0.0°  │
      >     │ Scale factor at natural origin │ Double │ Mandatory  │    (0 … ∞)    │         1.0   │
      >     │ False easting                  │ Double │ Mandatory  │   (−∞ … ∞) m  │         0.0 m │
      >     │ False northing                 │ Double │ Mandatory  │   (−∞ … ∞) m  │         0.0 m │
      >     └────────────────────────────────┴────────┴────────────┴───────────────┴───────────────┘

    - #### NAME_SUMMARY

          public static final ParameterFormat.ContentLevel NAME_SUMMARY

      Limits the content to names and aliases in a tabular format. In addition to parameters, this level can also format array of operation method, coordinate reference system, etc. The summary contains the identifier names and aliases aligned in a table.
      Example: The Mercator (variant A) example given in `ParameterBuilder` javadoc formatted at this level produces a text like below:

      >     EPSG: Mercator (variant A)
      >     ┌────────────────────────────────┬────────────────────┐
      >     │ EPSG                           │ OGC                │
      >     ├────────────────────────────────┼────────────────────┤
      >     │ Latitude of natural origin     │ latitude_of_origin │
      >     │ Longitude of natural origin    │ central_meridian   │
      >     │ Scale factor at natural origin │ scale_factor       │
      >     │ False easting                  │ false_easting      │
      >     │ False northing                 │ false_northing     │
      >     └────────────────────────────────┴────────────────────┘

      Tip: the table formatted by default may be quite large. It is recommended to invoke `ParameterFormat​.setPreferredCodespaces(String[])` before to format in order to reduce the amount of columns to display.

  - ### Method Detail

    - #### values

          public static ParameterFormat.ContentLevel[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (ParameterFormat.ContentLevel c : ParameterFormat.ContentLevel.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static ParameterFormat.ContentLevel valueOf​(String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
        `name` - the name of the enum constant to be returned.
      Returns:
        the enum constant with the specified name
      Throws:
        `IllegalArgumentException` - if this enum type has no constant with the specified name
        `NullPointerException` - if the argument is null