Package org.eclipse.core.runtime.preferences

## Class PreferenceMetadata<V>

- java.lang.Object
- - org.eclipse.core.runtime.preferences.PreferenceMetadata<V>

Type Parameters:
  `V` - the value type for the preference

    public final class PreferenceMetadata<V>
    extends Object

The preference metadata provides the information needed to configure everything about the preference except the preference value itself.

Since:
  3.8
See Also:
  `IPreferenceMetadataStore`

### Constructor Summary

Constructors
`PreferenceMetadata​(Class<V> clazz, String identifier, V defaultValue, String name)` Created an instance of `PreferenceMetadata` using name as description
`PreferenceMetadata​(Class<V> clazz, String identifier, V defaultValue, String name, String description)` Created an instance of `PreferenceMetadata` of all the the given parameters

### Method Summary

All Methods Instance Methods Concrete Methods
`V` `defaultValue()` The default value for the preference.
`String` `description()` Widely describes the preference purpose, intended to be used in UI.
`String` `identifer()` The preference identifier to use as a key to access the preference value.
`String` `name()` Briefly describes the preference purpose, intended to be used in UI.
`Class<V>` `valueClass()` The type of preference value needed to perform type checks.

### Methods inherited from class java.lang.Object

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

### Constructor Detail

#### PreferenceMetadata

    public PreferenceMetadata​(Class<V> clazz,
                              String identifier,
                              V defaultValue,
                              String name)

Created an instance of `PreferenceMetadata` using name as description

Parameters:
  `clazz` - the value type of the preference, must not be `null`
  `identifier` - the identifier of the preference, must not be `null`
  `defaultValue` - the default value of the preference, must not be `null`
  `name` - the name of the preference, must not be `null`
See Also:
  `PreferenceMetadata(Class, String, Object, String, String)`

#### PreferenceMetadata

    public PreferenceMetadata​(Class<V> clazz,
                              String identifier,
                              V defaultValue,
                              String name,
                              String description)

Created an instance of `PreferenceMetadata` of all the the given parameters

Parameters:
  `clazz` - the value type of the preference, must not be `null`
  `identifier` - the identifier of the preference, must not be `null`
  `defaultValue` - the default value of the preference, must not be `null`
  `name` - the name of the preference, must not be `null`
  `description` - the description of the preference, must not be `null`
See Also:
  `PreferenceMetadata(Class, String, Object, String)`

### Method Detail

#### identifer

    public String identifer()

The preference identifier to use as a key to access the preference value. Must not be `null`.

Returns:
  the identifier

#### defaultValue

    public V defaultValue()

The default value for the preference. Must not be `null`.

Returns:
  the default value

#### name

    public String name()

Briefly describes the preference purpose, intended to be used in UI. Must not be `null` and should be localized. Should not be blank.

Returns:
  the name

#### description

    public String description()

Widely describes the preference purpose, intended to be used in UI. Must not be `null` and should be localized. May be blank.

Returns:
  the description

#### valueClass

    public Class<V> valueClass()

The type of preference value needed to perform type checks. Must not be `null`.

Returns:
  the value class