org.eclipse.ui.preferences
Class ScopedPreferenceStore
java.lang.Object
org.eclipse.core.commands.common.EventManager
org.eclipse.ui.preferences.ScopedPreferenceStore
-
All Implemented Interfaces:
-
IPersistentPreferenceStore,
IPreferenceStore
-
public class ScopedPreferenceStore
- extends
EventManager
- implements
IPreferenceStore,
IPersistentPreferenceStore
The ScopedPreferenceStore is an IPreferenceStore that uses the scopes
provided in org.eclipse.core.runtime.preferences.
A ScopedPreferenceStore does the lookup of a preference based on it's search
scopes and sets the value of the preference based on its store scope.
The default scope is always included in the search scopes when searching for
preference values.
-
Since:
- 3.1
-
See Also:
-
org.eclipse.core.runtime.preferences
Field Summary
|
protected boolean
|
silentRunning
A boolean to indicate the property changes should not be propagated. |
Method Summary
|
void
|
addPropertyChangeListener
(
IPropertyChangeListener listener)
Adds a property change listener to this preference store. |
boolean
|
contains
(
String name)
Returns whether the named preference is known to this preference
store. |
void
|
firePropertyChangeEvent
(
String name,
Object oldValue,
Object newValue)
Fires a property change event corresponding to a change to the
current value of the preference with the given name. |
boolean
|
getBoolean
(
String name)
Returns the current value of the boolean-valued preference with the
given name. |
boolean
|
getDefaultBoolean
(
String name)
Returns the default value for the boolean-valued preference
with the given name. |
double
|
getDefaultDouble
(
String name)
Returns the default value for the double-valued preference
with the given name. |
float
|
getDefaultFloat
(
String name)
Returns the default value for the float-valued preference
with the given name. |
int
|
getDefaultInt
(
String name)
Returns the default value for the integer-valued preference
with the given name. |
long
|
getDefaultLong
(
String name)
Returns the default value for the long-valued preference
with the given name. |
String
|
getDefaultString
(
String name)
Returns the default value for the string-valued preference
with the given name. |
double
|
getDouble
(
String name)
Returns the current value of the double-valued preference with the
given name. |
float
|
getFloat
(
String name)
Returns the current value of the float-valued preference with the
given name. |
int
|
getInt
(
String name)
Returns the current value of the integer-valued preference with the
given name. |
long
|
getLong
(
String name)
Returns the current value of the long-valued preference with the
given name. |
IEclipsePreferences[]
|
getPreferenceNodes
(boolean includeDefault)
Return the preference path to search preferences on. |
String
|
getString
(
String name)
Returns the current value of the string-valued preference with the
given name. |
boolean
|
isDefault
(
String name)
Returns whether the current value of the preference with the given name
has the default value. |
boolean
|
needsSaving
()
Returns whether the current values in this property store
require saving. |
void
|
putValue
(
String name,
String value)
Sets the current value of the preference with the given name to
the given string value without sending a property change. |
void
|
removePropertyChangeListener
(
IPropertyChangeListener listener)
Removes the given listener from this preference store. |
void
|
save
()
Saves the non-default-valued preferences known to this preference
store to the file from which they were originally loaded. |
void
|
setDefault
(
String name,
boolean value)
Sets the default value for the boolean-valued preference with the
given name. |
void
|
setDefault
(
String name,
double value)
Sets the default value for the double-valued preference with the
given name. |
void
|
setDefault
(
String name,
float value)
Sets the default value for the float-valued preference with the
given name. |
void
|
setDefault
(
String name,
int value)
Sets the default value for the integer-valued preference with the
given name. |
void
|
setDefault
(
String name,
long value)
Sets the default value for the long-valued preference with the
given name. |
void
|
setDefault
(
String name,
String defaultObject)
Sets the default value for the string-valued preference with the
given name. |
void
|
setSearchContexts
(
IScopeContext[] scopes)
Set the search contexts to scopes. |
void
|
setToDefault
(
String name)
Sets the current value of the preference with the given name back
to its default value. |
void
|
setValue
(
String name,
boolean value)
Sets the current value of the boolean-valued preference with the
given name. |
void
|
setValue
(
String name,
double value)
Sets the current value of the double-valued preference with the
given name. |
void
|
setValue
(
String name,
float value)
Sets the current value of the float-valued preference with the
given name. |
void
|
setValue
(
String name,
int value)
Sets the current value of the integer-valued preference with the
given name. |
void
|
setValue
(
String name,
long value)
Sets the current value of the long-valued preference with the
given name. |
void
|
setValue
(
String name,
String value)
Sets the current value of the string-valued preference with the
given name. |
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
silentRunning
protected boolean silentRunning
- A boolean to indicate the property changes should not be propagated.
ScopedPreferenceStore
public ScopedPreferenceStore(
IScopeContext context,
String qualifier,
String defaultQualifierPath)
- Create a new instance of the receiver. Store the values in context in the
node looked up by qualifier. NOTE: Any instance of
ScopedPreferenceStore should call
-
Parameters:
-
context
- the scope to store to -
qualifier
- the qualifier used to look up the preference node -
defaultQualifierPath
- the qualifier used when looking up the defaults
ScopedPreferenceStore
public ScopedPreferenceStore(
IScopeContext context,
String qualifier)
- Create a new instance of the receiver. Store the values in context in the
node looked up by qualifier.
-
Parameters:
-
context
- the scope to store to -
qualifier
- the qualifer used to look up the preference node
addPropertyChangeListener
public void addPropertyChangeListener(
IPropertyChangeListener listener)
-
Description copied from interface:
IPreferenceStore
-
Adds a property change listener to this preference store.
Note The types of the oldValue and newValue of the
generated PropertyChangeEvent are determined by whether
or not the typed API in IPreferenceStore was called.
If values are changed via setValue(name,type) the
values in the PropertyChangedEvent will be of that type.
If they are set using a non typed API (i.e. #setToDefault
or using the OSGI Preferences) the values will be unconverted
Strings.
A listener will be called in the same Thread
that it is invoked in. Any Thread dependant listeners (such as
those who update an SWT widget) will need to update in the
correct Thread. In the case of an SWT update you can update
using Display#syncExec(Runnable) or Display#asyncExec(Runnable).
Likewise any application that updates an IPreferenceStore
from a Thread other than the UI Thread should be aware of
any listeners that require an update in the UI Thread.
-
-
Specified by:
-
addPropertyChangeListener
in interface
IPreferenceStore
-
-
Parameters:
-
listener
- a property change listener -
See Also:
-
PropertyChangeEvent
,
IPreferenceStore.setToDefault(String)
,
IPreferenceStore.setValue(String, boolean)
,
IPreferenceStore.setValue(String, double)
,
IPreferenceStore.setValue(String, float)
,
IPreferenceStore.setValue(String, int)
,
IPreferenceStore.setValue(String, long)
,
IPreferenceStore.setValue(String, String)
getPreferenceNodes
public
IEclipsePreferences[] getPreferenceNodes(boolean includeDefault)
- Return the preference path to search preferences on. This is the list of
preference nodes based on the scope contexts for this store. If there are
no search contexts set, then return this store's context.
Whether or not the default context should be included in the resulting
list is specified by the includeDefault
parameter.
-
-
-
Parameters:
-
includeDefault
- true
if the default context should be included
and false
otherwise
-
Returns:
- IEclipsePreferences[]
-
Since:
- 3.4 public, was added in 3.1 as private method
setSearchContexts
public void setSearchContexts(
IScopeContext[] scopes)
- Set the search contexts to scopes. When searching for a value the seach
will be done in the order of scope contexts and will not search the
storeContext unless it is in this list.
If the given list is null
, then clear this store's search
contexts. This means that only this store's scope context and default
scope will be used during preference value searching.
The defaultContext will be added to the end of this list automatically
and MUST NOT be included by the user.
-
-
-
Parameters:
-
scopes
- a list of scope contexts to use when searching, or
null
contains
public boolean contains(
String name)
-
Description copied from interface:
IPreferenceStore
- Returns whether the named preference is known to this preference
store.
-
-
Specified by:
-
contains
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference
-
Returns:
-
true
if either a current value or a default
value is known for the named preference, and false
otherwise
firePropertyChangeEvent
public void firePropertyChangeEvent(
String name,
Object oldValue,
Object newValue)
-
Description copied from interface:
IPreferenceStore
- Fires a property change event corresponding to a change to the
current value of the preference with the given name.
This method is provided on this interface to simplify the implementation
of decorators. There is normally no need to call this method since
setValue
and setToDefault
report such
events in due course. Implementations should funnel all preference
changes through this method.
-
-
Specified by:
-
firePropertyChangeEvent
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference, to be used as the property
in the event object -
oldValue
- the old value -
newValue
- the new value
getBoolean
public boolean getBoolean(
String name)
-
Description copied from interface:
IPreferenceStore
- Returns the current value of the boolean-valued preference with the
given name.
Returns the default-default value (
false
) if there
is no preference with the given name, or if the current value
cannot be treated as a boolean.
-
-
Specified by:
-
getBoolean
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference
-
Returns:
- the boolean-valued preference
getDefaultBoolean
public boolean getDefaultBoolean(
String name)
-
Description copied from interface:
IPreferenceStore
- Returns the default value for the boolean-valued preference
with the given name.
Returns the default-default value (
false
) if there
is no default preference with the given name, or if the default
value cannot be treated as a boolean.
-
-
Specified by:
-
getDefaultBoolean
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference
-
Returns:
- the default value of the named preference
getDefaultDouble
public double getDefaultDouble(
String name)
-
Description copied from interface:
IPreferenceStore
- Returns the default value for the double-valued preference
with the given name.
Returns the default-default value (
0.0
) if there
is no default preference with the given name, or if the default
value cannot be treated as a double.
-
-
Specified by:
-
getDefaultDouble
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference
-
Returns:
- the default value of the named preference
getDefaultFloat
public float getDefaultFloat(
String name)
-
Description copied from interface:
IPreferenceStore
- Returns the default value for the float-valued preference
with the given name.
Returns the default-default value (
0.0f
) if there
is no default preference with the given name, or if the default
value cannot be treated as a float.
-
-
Specified by:
-
getDefaultFloat
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference
-
Returns:
- the default value of the named preference
getDefaultInt
public int getDefaultInt(
String name)
-
Description copied from interface:
IPreferenceStore
- Returns the default value for the integer-valued preference
with the given name.
Returns the default-default value (
0
) if there
is no default preference with the given name, or if the default
value cannot be treated as an integer.
-
-
Specified by:
-
getDefaultInt
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference
-
Returns:
- the default value of the named preference
getDefaultLong
public long getDefaultLong(
String name)
-
Description copied from interface:
IPreferenceStore
- Returns the default value for the long-valued preference
with the given name.
Returns the default-default value (
0L
) if there
is no default preference with the given name, or if the default
value cannot be treated as a long.
-
-
Specified by:
-
getDefaultLong
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference
-
Returns:
- the default value of the named preference
getDefaultString
public
String getDefaultString(
String name)
-
Description copied from interface:
IPreferenceStore
- Returns the default value for the string-valued preference
with the given name.
Returns the default-default value (the empty string
""
)
is no default preference with the given name, or if the default
value cannot be treated as a string.
-
-
Specified by:
-
getDefaultString
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference
-
Returns:
- the default value of the named preference
getDouble
public double getDouble(
String name)
-
Description copied from interface:
IPreferenceStore
- Returns the current value of the double-valued preference with the
given name.
Returns the default-default value (
0.0
) if there
is no preference with the given name, or if the current value
cannot be treated as a double.
-
-
Specified by:
-
getDouble
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference
-
Returns:
- the double-valued preference
getFloat
public float getFloat(
String name)
-
Description copied from interface:
IPreferenceStore
- Returns the current value of the float-valued preference with the
given name.
Returns the default-default value (
0.0f
) if there
is no preference with the given name, or if the current value
cannot be treated as a float.
-
-
Specified by:
-
getFloat
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference
-
Returns:
- the float-valued preference
getInt
public int getInt(
String name)
-
Description copied from interface:
IPreferenceStore
- Returns the current value of the integer-valued preference with the
given name.
Returns the default-default value (
0
) if there
is no preference with the given name, or if the current value
cannot be treated as an integter.
-
-
Specified by:
-
getInt
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference
-
Returns:
- the int-valued preference
getLong
public long getLong(
String name)
-
Description copied from interface:
IPreferenceStore
- Returns the current value of the long-valued preference with the
given name.
Returns the default-default value (
0L
) if there
is no preference with the given name, or if the current value
cannot be treated as a long.
-
-
Specified by:
-
getLong
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference
-
Returns:
- the long-valued preference
getString
public
String getString(
String name)
-
Description copied from interface:
IPreferenceStore
- Returns the current value of the string-valued preference with the
given name.
Returns the default-default value (the empty string
""
)
if there is no preference with the given name, or if the current value
cannot be treated as a string.
-
-
Specified by:
-
getString
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference
-
Returns:
- the string-valued preference
isDefault
public boolean isDefault(
String name)
-
Description copied from interface:
IPreferenceStore
- Returns whether the current value of the preference with the given name
has the default value.
-
-
Specified by:
-
isDefault
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference
-
Returns:
-
true
if the preference has a known default value
and its current value is the same, and false
otherwise
(including the case where the preference is unknown to this store)
needsSaving
public boolean needsSaving()
-
Description copied from interface:
IPreferenceStore
- Returns whether the current values in this property store
require saving.
-
-
Specified by:
-
needsSaving
in interface
IPreferenceStore
-
-
Returns:
-
true
if at least one of values of
the preferences known to this store has changed and
requires saving, and false
otherwise.
putValue
public void putValue(
String name,
String value)
-
Description copied from interface:
IPreferenceStore
- Sets the current value of the preference with the given name to
the given string value without sending a property change.
This method does not fire a property change event and
should only be used for setting internal preferences
that are not meant to be processed by listeners.
Normal clients should instead call #setValue.
-
-
Specified by:
-
putValue
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference -
value
- the new current value of the preference
removePropertyChangeListener
public void removePropertyChangeListener(
IPropertyChangeListener listener)
-
Description copied from interface:
IPreferenceStore
- Removes the given listener from this preference store.
Has no affect if the listener is not registered.
-
-
Specified by:
-
removePropertyChangeListener
in interface
IPreferenceStore
-
-
Parameters:
-
listener
- a property change listener
setDefault
public void setDefault(
String name,
double value)
-
Description copied from interface:
IPreferenceStore
- Sets the default value for the double-valued preference with the
given name.
Note that the current value of the preference is affected if
the preference's current value was its old default value, in which
case it changes to the new default value. If the preference's current
is different from its old default value, its current value is
unaffected. No property change events are reported by changing default
values.
-
-
Specified by:
-
setDefault
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference -
value
- the new default value for the preference
setDefault
public void setDefault(
String name,
float value)
-
Description copied from interface:
IPreferenceStore
- Sets the default value for the float-valued preference with the
given name.
Note that the current value of the preference is affected if
the preference's current value was its old default value, in which
case it changes to the new default value. If the preference's current
is different from its old default value, its current value is
unaffected. No property change events are reported by changing default
values.
-
-
Specified by:
-
setDefault
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference -
value
- the new default value for the preference
setDefault
public void setDefault(
String name,
int value)
-
Description copied from interface:
IPreferenceStore
- Sets the default value for the integer-valued preference with the
given name.
Note that the current value of the preference is affected if
the preference's current value was its old default value, in which
case it changes to the new default value. If the preference's current
is different from its old default value, its current value is
unaffected. No property change events are reported by changing default
values.
-
-
Specified by:
-
setDefault
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference -
value
- the new default value for the preference
setDefault
public void setDefault(
String name,
long value)
-
Description copied from interface:
IPreferenceStore
- Sets the default value for the long-valued preference with the
given name.
Note that the current value of the preference is affected if
the preference's current value was its old default value, in which
case it changes to the new default value. If the preference's current
is different from its old default value, its current value is
unaffected. No property change events are reported by changing default
values.
-
-
Specified by:
-
setDefault
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference -
value
- the new default value for the preference
setDefault
public void setDefault(
String name,
String defaultObject)
-
Description copied from interface:
IPreferenceStore
- Sets the default value for the string-valued preference with the
given name.
Note that the current value of the preference is affected if
the preference's current value was its old default value, in which
case it changes to the new default value. If the preference's current
is different from its old default value, its current value is
unaffected. No property change events are reported by changing default
values.
-
-
Specified by:
-
setDefault
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference -
defaultObject
- the new default value for the preference
setDefault
public void setDefault(
String name,
boolean value)
-
Description copied from interface:
IPreferenceStore
- Sets the default value for the boolean-valued preference with the
given name.
Note that the current value of the preference is affected if
the preference's current value was its old default value, in which
case it changes to the new default value. If the preference's current
is different from its old default value, its current value is
unaffected. No property change events are reported by changing default
values.
-
-
Specified by:
-
setDefault
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference -
value
- the new default value for the preference
setToDefault
public void setToDefault(
String name)
-
Description copied from interface:
IPreferenceStore
- Sets the current value of the preference with the given name back
to its default value.
Note that the preferred way of re-initializing a preference to the
appropriate default value is to call setToDefault
.
This is implemented by removing the named value from the store,
thereby exposing the default value.
-
-
Specified by:
-
setToDefault
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference
setValue
public void setValue(
String name,
double value)
-
Description copied from interface:
IPreferenceStore
- Sets the current value of the double-valued preference with the
given name.
A property change event is reported if the current value of the
preference actually changes from its previous value. In the event
object, the property name is the name of the preference, and the
old and new values are wrapped as objects.
Note that the preferred way of re-initializing a preference to its
default value is to call setToDefault
.
-
-
Specified by:
-
setValue
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference -
value
- the new current value of the preference
setValue
public void setValue(
String name,
float value)
-
Description copied from interface:
IPreferenceStore
- Sets the current value of the float-valued preference with the
given name.
A property change event is reported if the current value of the
preference actually changes from its previous value. In the event
object, the property name is the name of the preference, and the
old and new values are wrapped as objects.
Note that the preferred way of re-initializing a preference to its
default value is to call setToDefault
.
-
-
Specified by:
-
setValue
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference -
value
- the new current value of the preference
setValue
public void setValue(
String name,
int value)
-
Description copied from interface:
IPreferenceStore
- Sets the current value of the integer-valued preference with the
given name.
A property change event is reported if the current value of the
preference actually changes from its previous value. In the event
object, the property name is the name of the preference, and the
old and new values are wrapped as objects.
Note that the preferred way of re-initializing a preference to its
default value is to call setToDefault
.
-
-
Specified by:
-
setValue
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference -
value
- the new current value of the preference
setValue
public void setValue(
String name,
long value)
-
Description copied from interface:
IPreferenceStore
- Sets the current value of the long-valued preference with the
given name.
A property change event is reported if the current value of the
preference actually changes from its previous value. In the event
object, the property name is the name of the preference, and the
old and new values are wrapped as objects.
Note that the preferred way of re-initializing a preference to its
default value is to call setToDefault
.
-
-
Specified by:
-
setValue
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference -
value
- the new current value of the preference
setValue
public void setValue(
String name,
String value)
-
Description copied from interface:
IPreferenceStore
- Sets the current value of the string-valued preference with the
given name.
A property change event is reported if the current value of the
preference actually changes from its previous value. In the event
object, the property name is the name of the preference, and the
old and new values are wrapped as objects.
Note that the preferred way of re-initializing a preference to its
default value is to call setToDefault
.
-
-
Specified by:
-
setValue
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference -
value
- the new current value of the preference
setValue
public void setValue(
String name,
boolean value)
-
Description copied from interface:
IPreferenceStore
- Sets the current value of the boolean-valued preference with the
given name.
A property change event is reported if the current value of the
preference actually changes from its previous value. In the event
object, the property name is the name of the preference, and the
old and new values are wrapped as objects.
Note that the preferred way of re-initializing a preference to its
default value is to call setToDefault
.
-
-
Specified by:
-
setValue
in interface
IPreferenceStore
-
-
Parameters:
-
name
- the name of the preference -
value
- the new current value of the preference
save
public void save()
throws
IOException
-
Description copied from interface:
IPersistentPreferenceStore
- Saves the non-default-valued preferences known to this preference
store to the file from which they were originally loaded.
-
-
Specified by:
-
save
in interface
IPersistentPreferenceStore
-
-
Throws:
-
IOException
- if there is a problem saving this store
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.