Module jdk.jfr
Package jdk.jfr

# Class Configuration

java.lang.Object
jdk.jfr.Configuration

public final class Configuration extends Object
A collection of settings and metadata describing the configuration.

Since:
  9

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static Configuration`
  `create(Reader reader)`
  Reads a configuration from a character stream.
  `static Configuration`
  `create(Path path)`
  Reads a configuration from a file.
  `static Configuration`
  `getConfiguration(String name)`
  Returns a predefined configuration.
  `static List<Configuration>`
  `getConfigurations()`
  Returns an immutable list of predefined configurations for this Java Virtual Machine (JVM).
  `String`
  `getContents()`
  Returns a textual representation of the configuration (for example, the contents of a JFC file).
  `String`
  `getDescription()`
  Returns a short sentence that describes the configuration (for example `"Low overhead configuration safe for continuous use in production environments"`)
  `String`
  `getLabel()`
  Returns a human-readable name (for example, `"Continuous" or "Profiling"`}.
  `String`
  `getName()`
  Returns an identifying name (for example, `"default" or "profile")`.
  `String`
  `getProvider()`
  Returns who created the configuration (for example `"OpenJDK"`).
  `Map<String,String>`
  `getSettings()`
  Returns the settings that specifies how a recording is configured.

  ### Methods declared in class java.lang.Object

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

- ## Method Details

  - ### getSettings

    public Map<String,String> getSettings()
    Returns the settings that specifies how a recording is configured.

    Modifying the returned `Map` object doesn't change the configuration.

    Returns:
      settings, not `null`

  - ### getName

    public String getName()
    Returns an identifying name (for example, `"default" or "profile")`.
    Returns:
      the name, or `null` if it doesn't exist

  - ### getLabel

    public String getLabel()
    Returns a human-readable name (for example, `"Continuous" or "Profiling"`}.
    Returns:
      the label, or `null` if it doesn't exist

  - ### getDescription

    public String getDescription()
    Returns a short sentence that describes the configuration (for example `"Low overhead configuration safe for continuous use in production environments"`)
    Returns:
      the description, or `null` if it doesn't exist

  - ### getProvider

    public String getProvider()
    Returns who created the configuration (for example `"OpenJDK"`).
    Returns:
      the provider, or `null` if it doesn't exist

  - ### getContents

    public String getContents()
    Returns a textual representation of the configuration (for example, the contents of a JFC file).
    Returns:
      contents, or `null` if it doesn't exist
    See Also:
      - `getContents()`

  - ### create

    public static Configuration create(Path path) throws IOException, ParseException
    Reads a configuration from a file.
    Parameters:
      `path` - the file that contains the configuration, not `null`
    Returns:
      the read `Configuration`, not `null`
    Throws:
      `ParseException` - if the file can't be parsed
      `IOException` - if the file can't be read
      `SecurityException` - if a security manager exists and its `checkRead` method denies read access to the file.
    See Also:
      - `File.getPath()`
      - `SecurityManager.checkRead(java.lang.String)`

  - ### create

    public static Configuration create(Reader reader) throws IOException, ParseException
    Reads a configuration from a character stream.
    Parameters:
      `reader` - a `Reader` that provides the configuration contents, not `null`
    Returns:
      a configuration, not `null`
    Throws:
      `IOException` - if an I/O error occurs while trying to read contents from the `Reader`
      `ParseException` - if the file can't be parsed

  - ### getConfiguration

    public static Configuration getConfiguration(String name) throws IOException, ParseException
    Returns a predefined configuration.

    See `getConfigurations()` for available configuration names.

    Parameters:
      `name` - the name of the configuration (for example, `"default"` or `"profile"`)
    Returns:
      a configuration, not `null`
    Throws:
      `IOException` - if a configuration with the given name does not exist, or if an I/O error occurs while reading the configuration file
      `ParseException` - if the configuration file can't be parsed

  - ### getConfigurations

    public static List<Configuration> getConfigurations()
    Returns an immutable list of predefined configurations for this Java Virtual Machine (JVM).
    Returns:
      the list of predefined configurations, not `null`