Package org.apache.sis.setup

## Enum About

- Object
- - Enum<About>
  - - About

- All Implemented Interfaces:
    `Serializable`, `Comparable<About>`

      public enum About
      extends Enum<About>

  Provides information about the Apache SIS running environment. This class collects information from various places like `Version​.SIS`, `System​.getProperties()`, `Locale​.getDefault()` or `TimeZone​.getDefault()`. This class does not collect every possible information. Instead, it tries to focus on the most important information for SIS, as determined by experience in troubleshooting. Some of those information are:
  - Version numbers (SIS, Java, Operation system).
  - Default locale, timezone and character encoding.
  - Current directory, user home and Java home.
  - Libraries on the classpath and extension directories.
  Since:
    0.3

  Defined in the `sis-utility` module

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant | Description
    --- | ---
    `LIBRARIES` | Information about the libraries.
    `LOCALIZATION` | Information about default locale, timezone and character encoding.
    `LOGGING` | Information about logging.
    `PATHS` | Information about user home directory, java installation directory or other kind of data.
    `PLUGINS` | Information about available plugins.
    `VERSIONS` | Information about software version numbers.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static TreeTable` | `configuration()` | Returns all known information about the current Apache SIS running environment.
    `static TreeTable` | `configuration​(Set<About> sections, Locale locale, TimeZone timezone)` | Returns a subset of the information about the current Apache SIS running environment.
    `static About` | `valueOf​(String name)` | Returns the enum constant of this type with the specified name.
    `static About[]` | `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

    - #### VERSIONS

          public static final About VERSIONS

      Information about software version numbers. This section includes:
      - Apache SIS version
      - Java runtime version and vendor
      - Operation system name and version
      - EPSG geodetic dataset in use

    - #### LOCALIZATION

          public static final About LOCALIZATION

      Information about default locale, timezone and character encoding. This section includes:
      - Default locale, completed by ISO 3-letter codes
      - Default timezone, completed by timezone offset
      - Current date and time in the default timezone
      - Default character encoding

    - #### PLUGINS

          public static final About PLUGINS

      Information about available plugins. This section includes:
      - List of data store implementations
      Since:
        0.8

    - #### LOGGING

          public static final About LOGGING

      Information about logging.

    - #### PATHS

          public static final About PATHS

      Information about user home directory, java installation directory or other kind of data. This section includes:
      - User directory
      - Default directory
      - SIS data directory
      - Temporary directory
      - Java home directory

    - #### LIBRARIES

          public static final About LIBRARIES

      Information about the libraries. This section includes:
      - JAR files in the extension directories
      - JAR files and directories in the application classpath

  - ### Method Detail

    - #### values

          public static About[] 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 (About c : About.values())
              System.out.println(c);

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

    - #### valueOf

          public static About 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

    - #### configuration

          public static TreeTable configuration()

      Returns all known information about the current Apache SIS running environment. The information are formatted using the system default locale and timezone.

      This convenience method is equivalent to the following code:

      >     return configuration(EnumSet.allOf(About.class), null, null);

      Returns:
        configuration information, as a tree for grouping some configuration by sections.

    - #### configuration

          public static TreeTable configuration​(Set<About> sections,
                                                Locale locale,
                                                TimeZone timezone)

      Returns a subset of the information about the current Apache SIS running environment.
      Parameters:
        `sections` - the section for which information are desired.
        `locale` - the locale to use for formatting the texts in the tree, or `null` for the default.
        `timezone` - the timezone to use for formatting the dates, or `null` for the default.
      Returns:
        configuration information, as a tree for grouping some configuration by sections.