Interface IEclipsePreferences
-
- All Superinterfaces:
Preferences
- All Known Subinterfaces:
IExportedPreferences
public interface IEclipsePreferences extends Preferences
This interface describes Eclipse extensions to the preference story. It provides means for both preference and node change listeners.Clients may implement this interface.
- Since:
- 3.0
- See Also:
Preferences
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceIEclipsePreferences.INodeChangeListenerA listener to be used to receive preference node change events.static interfaceIEclipsePreferences.IPreferenceChangeListenerA listener used to receive changes to preference values in the preference store.static classIEclipsePreferences.NodeChangeEventAn event object which describes the details of a change in the preference node hierarchy.static classIEclipsePreferences.PreferenceChangeEventAn event object describing the details of a change to a preference in the preference store.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaccept(IPreferenceNodeVisitor visitor)Accepts the given visitor.voidaddNodeChangeListener(IEclipsePreferences.INodeChangeListener listener)Register the given listener for changes to this node.voidaddPreferenceChangeListener(IEclipsePreferences.IPreferenceChangeListener listener)Register the given listener for notification of preference changes to this node.Preferencesnode(String path)Return the preferences node with the given path.voidremoveNode()Remove this node from the preference hierarchy.voidremoveNodeChangeListener(IEclipsePreferences.INodeChangeListener listener)De-register the given listener from receiving event change notifications for this node.voidremovePreferenceChangeListener(IEclipsePreferences.IPreferenceChangeListener listener)De-register the given listener from receiving notification of preference changes to this node.-
Methods inherited from interface org.osgi.service.prefs.Preferences
absolutePath, childrenNames, clear, flush, get, getBoolean, getByteArray, getDouble, getFloat, getInt, getLong, keys, name, nodeExists, parent, put, putBoolean, putByteArray, putDouble, putFloat, putInt, putLong, remove, sync
-
-
-
-
Method Detail
-
addNodeChangeListener
void addNodeChangeListener(IEclipsePreferences.INodeChangeListener listener)
Register the given listener for changes to this node. Duplicate calls to this method with the same listener will have no effect. The given listener argument must not benull.- Parameters:
listener- the node change listener to add- Throws:
IllegalStateException- if this node or an ancestor has been removed- See Also:
removeNodeChangeListener(IEclipsePreferences.INodeChangeListener),IEclipsePreferences.INodeChangeListener
-
removeNodeChangeListener
void removeNodeChangeListener(IEclipsePreferences.INodeChangeListener listener)
De-register the given listener from receiving event change notifications for this node. Calling this method with a listener which is not registered has no effect. The given listener argument must not benull.- Parameters:
listener- the node change listener to remove- Throws:
IllegalStateException- if this node or an ancestor has been removed- See Also:
addNodeChangeListener(IEclipsePreferences.INodeChangeListener),IEclipsePreferences.INodeChangeListener
-
addPreferenceChangeListener
void addPreferenceChangeListener(IEclipsePreferences.IPreferenceChangeListener listener)
Register the given listener for notification of preference changes to this node. Calling this method multiple times with the same listener has no effect. The given listener argument must not benull.- Parameters:
listener- the preference change listener to register- Throws:
IllegalStateException- if this node or an ancestor has been removed- See Also:
removePreferenceChangeListener(IEclipsePreferences.IPreferenceChangeListener),IEclipsePreferences.IPreferenceChangeListener
-
removePreferenceChangeListener
void removePreferenceChangeListener(IEclipsePreferences.IPreferenceChangeListener listener)
De-register the given listener from receiving notification of preference changes to this node. Calling this method multiple times with the same listener has no effect. The given listener argument must not benull.- Parameters:
listener- the preference change listener to remove- Throws:
IllegalStateException- if this node or an ancestor has been removed- See Also:
addPreferenceChangeListener(IEclipsePreferences.IPreferenceChangeListener),IEclipsePreferences.IPreferenceChangeListener
-
removeNode
void removeNode() throws BackingStoreExceptionRemove this node from the preference hierarchy. If this node is the scope root, then do not remove this node, only remove this node's children.Functionally equivalent to calling
Preferences.removeNode(). See the spec ofPreferences.removeNode()for more details.Implementors must send the appropriate
IEclipsePreferences.NodeChangeEventto listeners who are registered on this node's parent.When this node is removed, its associated preference and node change listeners should be removed as well.
- Specified by:
removeNodein interfacePreferences- Throws:
BackingStoreException- if there was a problem removing this node- See Also:
Preferences.removeNode(),IEclipsePreferences.NodeChangeEvent
-
node
Preferences node(String path)
Return the preferences node with the given path. The given path must not benull.See the spec of
Preferences.node(String)for more details.Note that if the node does not yet exist and is created, then the appropriate
IEclipsePreferences.NodeChangeEventmust be sent to listeners who are registered at this node.- Specified by:
nodein interfacePreferences- Parameters:
path- the path of the node- Returns:
- the node
- See Also:
Preferences.node(String),IEclipsePreferences.NodeChangeEvent
-
accept
void accept(IPreferenceNodeVisitor visitor) throws BackingStoreException
Accepts the given visitor. The visitor'svisitmethod is called with this node. If the visitor returnstrue, this method visits this node's children.- Parameters:
visitor- the visitor- Throws:
BackingStoreException- if this operation cannot be completed due to a failure in the backing store, or inability to communicate with it.- See Also:
IPreferenceNodeVisitor.visit(IEclipsePreferences)
-
-