# Class SettingDescriptorInfo

java.lang.Object
jdk.management.jfr.SettingDescriptorInfo

public final class SettingDescriptorInfo extends Object
Management class that describes a setting, for example name, description and default value.

Since:
  9
See Also:
  - `EventType.getSettingDescriptors()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static SettingDescriptorInfo`
  `from(CompositeData cd)`
  Returns an `SettingDescriptorInfo` represented by the specified `CompositeData`
  `String`
  `getContentType()`
  Returns the content type of the setting associated this `SettingDescriptorInfo` (for example, `"jdk.jfr.Timespan"`).
  `String`
  `getDefaultValue()`
  Returns the default value of the setting associated this `SettingDescriptorInfo` (for example, `"20 ms"`).
  `String`
  `getDescription()`
  Returns the description of the setting associated this `SettingDescriptorInfo` (for example, `"The duration an event must exceed to be recorded"`).
  `String`
  `getLabel()`
  Returns the human-readable name of the setting associated with this `SettingDescriptorInfo` (for example, `"Threshold"`).
  `String`
  `getName()`
  Returns the name of the setting associated with this `SettingDescriptorInfo` (for example, `"threshold"`).
  `String`
  `getTypeName()`
  Returns the type name of the setting associated this `SettingDescriptorInfo` (for example, `"jdk.settings.Threshold"`).
  `String`
  `toString()`
  Returns a `String` description of this `SettingDescriptorInfo`.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Method Details

  - ### getLabel

    public String getLabel()
    Returns the human-readable name of the setting associated with this `SettingDescriptorInfo` (for example, `"Threshold"`).
    Returns:
      the label for this setting, not `null`

  - ### getName

    public String getName()
    Returns the name of the setting associated with this `SettingDescriptorInfo` (for example, `"threshold"`).
    Returns:
      the name of this setting, not `null`

  - ### getDescription

    public String getDescription()
    Returns the description of the setting associated this `SettingDescriptorInfo` (for example, `"The duration an event must exceed to be recorded"`).
    Returns:
      the description of this setting, not null

  - ### getTypeName

    public String getTypeName()
    Returns the type name of the setting associated this `SettingDescriptorInfo` (for example, `"jdk.settings.Threshold"`).

    The type can be used to identify what type of setting this is.

    Returns:
      the name of this settings type, not `null`

  - ### getContentType

    public String getContentType()
    Returns the content type of the setting associated this `SettingDescriptorInfo` (for example, `"jdk.jfr.Timespan"`).

    The content type can be used to determine how the setting should be rendered in a graphical user interface.

    Returns:
      the name of this settings type, not `null`

  - ### getDefaultValue

    public String getDefaultValue()
    Returns the default value of the setting associated this `SettingDescriptorInfo` (for example, `"20 ms"`).
    Returns:
      default value for this setting, not `null`
    See Also:
      - `SettingDescriptor.getDefaultValue()`

  - ### from

    public static SettingDescriptorInfo from(CompositeData cd)
    Returns an `SettingDescriptorInfo` represented by the specified `CompositeData`

    The supplied `CompositeData` must have the following item names and item types to be valid.

    > The name and type the specified CompositeData must contain
    > Name | Type
    > --- | ---
    > name | `String`
    > label | `String`
    > description | `String`
    > typeName | `String`
    > contentType | `String`
    > defaultValue | `String`

    Parameters:
      `cd` - `CompositeData` representing the `SettingDescriptorInfo` to return
    Returns:
      a `SettingDescriptorInfo`, or `null` if `cd` is `null`
    Throws:
      `IllegalArgumentException` - if `cd` does not represent a valid `EventTypeInfo`

  - ### toString

    public String toString()
    Returns a `String` description of this `SettingDescriptorInfo`.
    Overrides:
      `toString` in class `Object`
    Returns:
      a string describing this setting, not `null`