public class ScopedPreferenceStore
extends org.eclipse.core.commands.common.EventManager
implements org.eclipse.jface.preference.IPersistentPreferenceStore
org.eclipse.ui.preferences.ScopedPreferenceStore
to fix the memory leak issue described in
Bug 239033.
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 its 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.
| Constructor and Description |
|---|
ScopedPreferenceStore(org.eclipse.core.runtime.preferences.IScopeContext context,
java.lang.String qualifier)
Creates a new scoped preference store that will store values in the node
looked up in the given context by the given qualifier.
|
ScopedPreferenceStore(org.eclipse.core.runtime.preferences.IScopeContext context,
java.lang.String qualifier,
java.lang.String defaultQualifierPath)
Creates a new scoped preference store that will store values in the node
looked up in the given context by the given qualifier.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener listener) |
boolean |
contains(java.lang.String name) |
void |
firePropertyChangeEvent(java.lang.String name,
java.lang.Object oldValue,
java.lang.Object newValue) |
boolean |
getBoolean(java.lang.String name) |
boolean |
getDefaultBoolean(java.lang.String name) |
double |
getDefaultDouble(java.lang.String name) |
float |
getDefaultFloat(java.lang.String name) |
int |
getDefaultInt(java.lang.String name) |
long |
getDefaultLong(java.lang.String name) |
java.lang.String |
getDefaultString(java.lang.String name) |
double |
getDouble(java.lang.String name) |
float |
getFloat(java.lang.String name) |
int |
getInt(java.lang.String name) |
long |
getLong(java.lang.String name) |
org.eclipse.core.runtime.preferences.IEclipsePreferences[] |
getPreferenceNodes(boolean includeDefault)
Return the preference path to search preferences on.
|
java.lang.String |
getString(java.lang.String name) |
boolean |
isDefault(java.lang.String name) |
boolean |
needsSaving() |
void |
putValue(java.lang.String name,
java.lang.String value) |
void |
removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener listener) |
void |
save() |
void |
setDefault(java.lang.String name,
boolean value) |
void |
setDefault(java.lang.String name,
double value) |
void |
setDefault(java.lang.String name,
float value) |
void |
setDefault(java.lang.String name,
int value) |
void |
setDefault(java.lang.String name,
long value) |
void |
setDefault(java.lang.String name,
java.lang.String defaultObject) |
void |
setSearchContexts(org.eclipse.core.runtime.preferences.IScopeContext[] scopes)
Set the search contexts to scopes.
|
void |
setToDefault(java.lang.String name) |
void |
setValue(java.lang.String name,
boolean value) |
void |
setValue(java.lang.String name,
double value) |
void |
setValue(java.lang.String name,
float value) |
void |
setValue(java.lang.String name,
int value) |
void |
setValue(java.lang.String name,
long value) |
void |
setValue(java.lang.String name,
java.lang.String value) |
public ScopedPreferenceStore(org.eclipse.core.runtime.preferences.IScopeContext context,
java.lang.String qualifier,
java.lang.String defaultQualifierPath)
context - the scope to store toqualifier - the qualifier used to look up the preference nodedefaultQualifierPath - the qualifier used when looking up the defaultspublic ScopedPreferenceStore(org.eclipse.core.runtime.preferences.IScopeContext context,
java.lang.String qualifier)
context - the scope to store toqualifier - the qualifier used to look up the preference nodepublic void setSearchContexts(org.eclipse.core.runtime.preferences.IScopeContext[] scopes)
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.
scopes - a list of scope contexts to use when searching,
or nullpublic org.eclipse.core.runtime.preferences.IEclipsePreferences[] getPreferenceNodes(boolean includeDefault)
Whether or not the default context should be included in the resulting
list is specified by the includeDefault parameter.
includeDefault - true if the default context should be
included and false otherwisepublic void addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener listener)
addPropertyChangeListener in interface org.eclipse.jface.preference.IPreferenceStorepublic boolean contains(java.lang.String name)
contains in interface org.eclipse.jface.preference.IPreferenceStorepublic void firePropertyChangeEvent(java.lang.String name,
java.lang.Object oldValue,
java.lang.Object newValue)
firePropertyChangeEvent in interface org.eclipse.jface.preference.IPreferenceStorepublic boolean getBoolean(java.lang.String name)
getBoolean in interface org.eclipse.jface.preference.IPreferenceStorepublic boolean getDefaultBoolean(java.lang.String name)
getDefaultBoolean in interface org.eclipse.jface.preference.IPreferenceStorepublic double getDefaultDouble(java.lang.String name)
getDefaultDouble in interface org.eclipse.jface.preference.IPreferenceStorepublic float getDefaultFloat(java.lang.String name)
getDefaultFloat in interface org.eclipse.jface.preference.IPreferenceStorepublic int getDefaultInt(java.lang.String name)
getDefaultInt in interface org.eclipse.jface.preference.IPreferenceStorepublic long getDefaultLong(java.lang.String name)
getDefaultLong in interface org.eclipse.jface.preference.IPreferenceStorepublic java.lang.String getDefaultString(java.lang.String name)
getDefaultString in interface org.eclipse.jface.preference.IPreferenceStorepublic double getDouble(java.lang.String name)
getDouble in interface org.eclipse.jface.preference.IPreferenceStorepublic float getFloat(java.lang.String name)
getFloat in interface org.eclipse.jface.preference.IPreferenceStorepublic int getInt(java.lang.String name)
getInt in interface org.eclipse.jface.preference.IPreferenceStorepublic long getLong(java.lang.String name)
getLong in interface org.eclipse.jface.preference.IPreferenceStorepublic java.lang.String getString(java.lang.String name)
getString in interface org.eclipse.jface.preference.IPreferenceStorepublic boolean isDefault(java.lang.String name)
isDefault in interface org.eclipse.jface.preference.IPreferenceStorepublic boolean needsSaving()
needsSaving in interface org.eclipse.jface.preference.IPreferenceStorepublic void putValue(java.lang.String name,
java.lang.String value)
putValue in interface org.eclipse.jface.preference.IPreferenceStorepublic void removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener listener)
removePropertyChangeListener in interface org.eclipse.jface.preference.IPreferenceStorepublic void setDefault(java.lang.String name,
double value)
setDefault in interface org.eclipse.jface.preference.IPreferenceStorepublic void setDefault(java.lang.String name,
float value)
setDefault in interface org.eclipse.jface.preference.IPreferenceStorepublic void setDefault(java.lang.String name,
int value)
setDefault in interface org.eclipse.jface.preference.IPreferenceStorepublic void setDefault(java.lang.String name,
long value)
setDefault in interface org.eclipse.jface.preference.IPreferenceStorepublic void setDefault(java.lang.String name,
java.lang.String defaultObject)
setDefault in interface org.eclipse.jface.preference.IPreferenceStorepublic void setDefault(java.lang.String name,
boolean value)
setDefault in interface org.eclipse.jface.preference.IPreferenceStorepublic void setToDefault(java.lang.String name)
setToDefault in interface org.eclipse.jface.preference.IPreferenceStorepublic void setValue(java.lang.String name,
double value)
setValue in interface org.eclipse.jface.preference.IPreferenceStorepublic void setValue(java.lang.String name,
float value)
setValue in interface org.eclipse.jface.preference.IPreferenceStorepublic void setValue(java.lang.String name,
int value)
setValue in interface org.eclipse.jface.preference.IPreferenceStorepublic void setValue(java.lang.String name,
long value)
setValue in interface org.eclipse.jface.preference.IPreferenceStorepublic void setValue(java.lang.String name,
java.lang.String value)
setValue in interface org.eclipse.jface.preference.IPreferenceStorepublic void setValue(java.lang.String name,
boolean value)
setValue in interface org.eclipse.jface.preference.IPreferenceStorepublic void save()
throws java.io.IOException
save in interface org.eclipse.jface.preference.IPersistentPreferenceStorejava.io.IOExceptionCopyright (c) 2014, 2020 1C-Soft LLC and others. Made available under the Eclipse Public License 2.0