Module jdk.jfr
Package jdk.jfr

## Class SettingDescriptor

- java.lang.Object
- - jdk.jfr.SettingDescriptor

    public final class SettingDescriptor
    extends Object

Describes an event setting.

Since:
  9

### Method Summary

All Methods Instance Methods Concrete Methods
`<A extends Annotation> A` `getAnnotation​(Class<A> annotationType)` Returns the first annotation for the specified type if an annotation element with the same name is available, `null` otherwise.
`List<AnnotationElement>` `getAnnotationElements()` Returns an immutable list of annotation elements for this value descriptor.
`String` `getContentType()` Returns a textual identifier that specifies how a value that is represented by this `SettingDescriptor` object is interpreted or formatted.
`String` `getDefaultValue()` Returns the default value for this setting descriptor.
`String` `getDescription()` Returns a sentence that describes the setting (for example `"Record event with duration above or equal to threshold"`).
`String` `getLabel()` Returns a human-readable name that describes the setting (for example, `"Threshold"`).
`String` `getName()` Returns the name of the setting (for example, `"threshold"`).
`long` `getTypeId()` Returns a unique ID for the type in the Java Virtual Machine (JVM).
`String` `getTypeName()` Returns the fully qualified class name of the type that is associated with this setting descriptor.

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

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

### Method Detail

#### getName

    public String getName()

Returns the name of the setting (for example, `"threshold"`).

Returns:
  the name, not `null`

#### getLabel

    public String getLabel()

Returns a human-readable name that describes the setting (for example, `"Threshold"`).

If the setting lacks a label, the label for the type that is associated with this setting is returned, or `null` if doesn't exist

Returns:
  a human-readable name, or `null` if doesn't exist

#### getDescription

    public String getDescription()

Returns a sentence that describes the setting (for example `"Record event with duration above or equal to threshold"`).

If the setting lacks a description, the description for the type that is associated with this setting is returned, or `null` if doesn't exist.

Returns:
  the description, or `null` if doesn't exist

#### getContentType

    public String getContentType()

Returns a textual identifier that specifies how a value that is represented by this `SettingDescriptor` object is interpreted or formatted.

For example, if the setting descriptor represents a percentage, then `"jdk.jfr.Percentage"` hints to a client that a value of "0.5" is formatted as "50%".

The JDK provides the following predefined content types:

- jdk.jfr.Percentage
- jdk.jfr.Timespan
- jdk.jfr.Timestamp
- jdk.jfr.Frequency
- jdk.jfr.Flag
- jdk.jfr.MemoryAddress
- jdk.jfr.DataAmount
- jdk.jfr.NetworkAddress

User-defined content types can be created by using `ContentType`.

If the setting lacks a content type, the content type for the type that is associated with this setting is returned, or `null` if not available.

Returns:
  the content type, or `null` if doesn't exist
See Also:
  `ContentType`

#### getTypeName

    public String getTypeName()

Returns the fully qualified class name of the type that is associated with this setting descriptor.

Returns:
  the type name, not `null`
See Also:
  `getTypeId()`

#### getTypeId

    public long getTypeId()

Returns a unique ID for the type in the Java Virtual Machine (JVM).

The ID might not be the same between JVM instances.

Returns:
  the type ID, not negative

#### getAnnotation

    public <A extends Annotation> A getAnnotation​(Class<A> annotationType)

Returns the first annotation for the specified type if an annotation element with the same name is available, `null` otherwise.

Type Parameters:
  `A` - the type of the annotation to query for and return if available
Parameters:
  `annotationType` - the Class object that corresponds to the annotation type, not `null`
Returns:
  this element's annotation for the specified annotation type if available, `null` otherwise

#### getAnnotationElements

    public List<AnnotationElement> getAnnotationElements()

Returns an immutable list of annotation elements for this value descriptor.

Returns:
  a list of annotations, not `null`

#### getDefaultValue

    public String getDefaultValue()

Returns the default value for this setting descriptor.

Returns:
  the default value, not `null`