Package org.eclipse.handly.ui.preference

# Interface IPreference

All Known Subinterfaces:
  `IBooleanPreference`, `IDoublePreference`, `IFloatPreference`, `IIntPreference`, `ILongPreference`, `IStringPreference`

All Known Implementing Classes:
  `AbstractPreference`, `BooleanPreference`, `DoublePreference`, `FloatPreference`, `IntPreference`, `LexicalSortPreference`, `LinkWithEditorPreference`, `LongPreference`, `StringPreference`

public interface IPreference
Represents an abstract preference.

Restriction:
  This interface is not intended to be extended by clients.
Restriction:
  This interface is not intended to be implemented by clients.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addListener(IPreferenceListener listener)`
  Adds the given listener for value change events to this preference.
  `void`
  `removeListener(IPreferenceListener listener)`
  Removes the given value change listener from this preference.

- ## Method Details

  - ### addListener

    void addListener(IPreferenceListener listener)
    Adds the given listener for value change events to this preference. Has no effect if the listener is already registered.

    Make sure to remove the listener on the same preference instance.

    Parameters:
      `listener` - not `null`

  - ### removeListener

    void removeListener(IPreferenceListener listener)
    Removes the given value change listener from this preference. Has no effect if the listener was not already registered.
    Parameters:
      `listener` - not `null`