|
Eclipse Platform 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
The IPreferenceStore
interface represents a table mapping
named preferences to values. If there is no value for a given name,
then that preferences's default value is returned; and if there is no
default value for that preference, then a default-default value is returned.
The default-default values for the primitive types are as follows:
boolean
= false
double
= 0.0
float
= 0.0f
int
= 0
long
= 0
String
= ""
(the empty string)Thus a preference store maintains two values for each of a set of names: a current value and a default value. The typical usage is to establish the defaults for all known preferences and then restore previously stored values for preferences whose values were different from their defaults. After the current values of the preferences have been modified, it is a simple matter to write out only those preferences whose values are different from their defaults. This two-tiered approach to saving and restoring preference setting minimized the number of preferences that need to be persisted; indeed, the normal starting state does not require storing any preferences at all.
A property change event is reported whenever a preferences current
value actually changes (whether through setValue
,
setToDefault
, or other unspecified means). Note, however,
that manipulating default values (with setDefault
)
does not cause such events to be reported.
Clients who need a preference store may implement this interface or
instantiate the standard implementation PreferenceStore
.
PreferenceStore
Field Summary | |
static boolean |
BOOLEAN_DEFAULT_DEFAULT
The default-default value for boolean preferences ( false ). |
static double |
DOUBLE_DEFAULT_DEFAULT
The default-default value for double preferences ( 0.0 ). |
static String |
FALSE
The string representation used for false ("false" ). |
static float |
FLOAT_DEFAULT_DEFAULT
The default-default value for float preferences ( 0.0f ). |
static int |
INT_DEFAULT_DEFAULT
The default-default value for int preferences ( 0 ). |
static long |
LONG_DEFAULT_DEFAULT
The default-default value for long preferences ( 0L ). |
static String |
STRING_DEFAULT_DEFAULT
The default-default value for String preferences ( "" ). |
static String |
TRUE
The string representation used for true ("true" ). |
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. |
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. |
void |
removePropertyChangeListener(IPropertyChangeListener listener)
Removes the given listener from this preference store. |
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 |
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. |
Field Detail |
public static final boolean BOOLEAN_DEFAULT_DEFAULT
false
).
public static final double DOUBLE_DEFAULT_DEFAULT
0.0
).
public static final float FLOAT_DEFAULT_DEFAULT
0.0f
).
public static final int INT_DEFAULT_DEFAULT
0
).
public static final long LONG_DEFAULT_DEFAULT
0L
).
public static final String STRING_DEFAULT_DEFAULT
""
).
public static final String TRUE
true
("true"
).
public static final String FALSE
false
("false"
).
Method Detail |
public void addPropertyChangeListener(IPropertyChangeListener listener)
listener
- a property change listenerpublic boolean contains(String name)
name
- the name of the preference
true
if either a current value or a default
value is known for the named preference, and false
otherwisepublic void firePropertyChangeEvent(String name, Object oldValue, Object newValue)
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.
name
- the name of the preference, to be used as the property
in the event objectoldValue
- the old valuenewValue
- the new valuepublic boolean getBoolean(String name)
false
) if there
is no preference with the given name, or if the current value
cannot be treated as a boolean.
name
- the name of the preference
public boolean getDefaultBoolean(String name)
false
) if there
is no default preference with the given name, or if the default
value cannot be treated as a boolean.
name
- the name of the preference
public double getDefaultDouble(String name)
0.0
) if there
is no default preference with the given name, or if the default
value cannot be treated as a double.
name
- the name of the preference
public float getDefaultFloat(String name)
0.0f
) if there
is no default preference with the given name, or if the default
value cannot be treated as a float.
name
- the name of the preference
public int getDefaultInt(String name)
0
) if there
is no default preference with the given name, or if the default
value cannot be treated as an integer.
name
- the name of the preference
public long getDefaultLong(String name)
0L
) if there
is no default preference with the given name, or if the default
value cannot be treated as a long.
name
- the name of the preference
public String getDefaultString(String name)
""
)
is no default preference with the given name, or if the default
value cannot be treated as a string.
name
- the name of the preference
public double getDouble(String name)
0.0
) if there
is no preference with the given name, or if the current value
cannot be treated as a double.
name
- the name of the preference
public float getFloat(String name)
0.0f
) if there
is no preference with the given name, or if the current value
cannot be treated as a float.
name
- the name of the preference
public int getInt(String name)
0
) if there
is no preference with the given name, or if the current value
cannot be treated as an integter.
name
- the name of the preference
public long getLong(String name)
0L
) if there
is no preference with the given name, or if the current value
cannot be treated as a long.
name
- the name of the preference
public String getString(String name)
""
)
if there is no preference with the given name, or if the current value
cannot be treated as a string.
name
- the name of the preference
public boolean isDefault(String name)
name
- the name of the preference
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)public boolean needsSaving()
true
if at least one of the preferences
known to this store has a current value different from its
default value, and false
otherwisepublic void putValue(String name, String value)
This method is provided on this interface to simplify the implementation
of decorators, and does not report a property change event.
Normal clients should instead call setValue
.
name
- the name of the preferencevalue
- the new current value of the preferencepublic void removePropertyChangeListener(IPropertyChangeListener listener)
listener
- a property change listenerpublic void setDefault(String name, double value)
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.
name
- the name of the preferencevalue
- the new default value for the preferencepublic void setDefault(String name, float value)
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.
name
- the name of the preferencevalue
- the new default value for the preferencepublic void setDefault(String name, int value)
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.
name
- the name of the preferencevalue
- the new default value for the preferencepublic void setDefault(String name, long value)
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.
name
- the name of the preferencevalue
- the new default value for the preferencepublic void setDefault(String name, String defaultObject)
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.
name
- the name of the preferencepublic void setDefault(String name, boolean value)
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.
name
- the name of the preferencevalue
- the new default value for the preferencepublic void setToDefault(String name)
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.
name
- the name of the preferencepublic void setValue(String name, double value)
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
.
name
- the name of the preferencevalue
- the new current value of the preferencepublic void setValue(String name, float value)
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
.
name
- the name of the preferencevalue
- the new current value of the preferencepublic void setValue(String name, int value)
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
.
name
- the name of the preferencevalue
- the new current value of the preferencepublic void setValue(String name, long value)
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
.
name
- the name of the preferencevalue
- the new current value of the preferencepublic void setValue(String name, String value)
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
.
name
- the name of the preferencevalue
- the new current value of the preferencepublic void setValue(String name, boolean value)
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
.
name
- the name of the preferencevalue
- the new current value of the preference
|
Eclipse Platform 2.0 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |