Class ScopedPreferenceStore
- java.lang.Object
-
- org.eclipse.core.commands.common.EventManager
-
- org.eclipse.handly.ui.preference.ScopedPreferenceStore
-
- All Implemented Interfaces:
org.eclipse.jface.preference.IPersistentPreferenceStore,org.eclipse.jface.preference.IPreferenceStore
public class ScopedPreferenceStore extends org.eclipse.core.commands.common.EventManager implements org.eclipse.jface.preference.IPersistentPreferenceStoreThis class is forked fromorg.eclipse.ui.preferences.ScopedPreferenceStoreto 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 Summary
Constructors Constructor 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.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener listener)booleancontains(java.lang.String name)voidfirePropertyChangeEvent(java.lang.String name, java.lang.Object oldValue, java.lang.Object newValue)booleangetBoolean(java.lang.String name)booleangetDefaultBoolean(java.lang.String name)doublegetDefaultDouble(java.lang.String name)floatgetDefaultFloat(java.lang.String name)intgetDefaultInt(java.lang.String name)longgetDefaultLong(java.lang.String name)java.lang.StringgetDefaultString(java.lang.String name)doublegetDouble(java.lang.String name)floatgetFloat(java.lang.String name)intgetInt(java.lang.String name)longgetLong(java.lang.String name)org.eclipse.core.runtime.preferences.IEclipsePreferences[]getPreferenceNodes(boolean includeDefault)Return the preference path to search preferences on.java.lang.StringgetString(java.lang.String name)booleanisDefault(java.lang.String name)booleanneedsSaving()voidputValue(java.lang.String name, java.lang.String value)voidremovePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener listener)voidsave()voidsetDefault(java.lang.String name, boolean value)voidsetDefault(java.lang.String name, double value)voidsetDefault(java.lang.String name, float value)voidsetDefault(java.lang.String name, int value)voidsetDefault(java.lang.String name, long value)voidsetDefault(java.lang.String name, java.lang.String defaultObject)voidsetSearchContexts(org.eclipse.core.runtime.preferences.IScopeContext[] scopes)Set the search contexts to scopes.voidsetToDefault(java.lang.String name)voidsetValue(java.lang.String name, boolean value)voidsetValue(java.lang.String name, double value)voidsetValue(java.lang.String name, float value)voidsetValue(java.lang.String name, int value)voidsetValue(java.lang.String name, long value)voidsetValue(java.lang.String name, java.lang.String value)
-
-
-
Constructor Detail
-
ScopedPreferenceStore
public 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.- Parameters:
context- the scope to store toqualifier- the qualifier used to look up the preference nodedefaultQualifierPath- the qualifier used when looking up the defaults
-
ScopedPreferenceStore
public 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.- Parameters:
context- the scope to store toqualifier- the qualifier used to look up the preference node
-
-
Method Detail
-
setSearchContexts
public void setSearchContexts(org.eclipse.core.runtime.preferences.IScopeContext[] scopes)
Set the search contexts to scopes. When searching for a value the search 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, ornull
-
getPreferenceNodes
public org.eclipse.core.runtime.preferences.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
includeDefaultparameter.- Parameters:
includeDefault-trueif the default context should be included andfalseotherwise- Returns:
- IEclipsePreferences[]
-
addPropertyChangeListener
public void addPropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener listener)
- Specified by:
addPropertyChangeListenerin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
contains
public boolean contains(java.lang.String name)
- Specified by:
containsin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
firePropertyChangeEvent
public void firePropertyChangeEvent(java.lang.String name, java.lang.Object oldValue, java.lang.Object newValue)- Specified by:
firePropertyChangeEventin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
getBoolean
public boolean getBoolean(java.lang.String name)
- Specified by:
getBooleanin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
getDefaultBoolean
public boolean getDefaultBoolean(java.lang.String name)
- Specified by:
getDefaultBooleanin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
getDefaultDouble
public double getDefaultDouble(java.lang.String name)
- Specified by:
getDefaultDoublein interfaceorg.eclipse.jface.preference.IPreferenceStore
-
getDefaultFloat
public float getDefaultFloat(java.lang.String name)
- Specified by:
getDefaultFloatin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
getDefaultInt
public int getDefaultInt(java.lang.String name)
- Specified by:
getDefaultIntin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
getDefaultLong
public long getDefaultLong(java.lang.String name)
- Specified by:
getDefaultLongin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
getDefaultString
public java.lang.String getDefaultString(java.lang.String name)
- Specified by:
getDefaultStringin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
getDouble
public double getDouble(java.lang.String name)
- Specified by:
getDoublein interfaceorg.eclipse.jface.preference.IPreferenceStore
-
getFloat
public float getFloat(java.lang.String name)
- Specified by:
getFloatin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
getInt
public int getInt(java.lang.String name)
- Specified by:
getIntin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
getLong
public long getLong(java.lang.String name)
- Specified by:
getLongin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
getString
public java.lang.String getString(java.lang.String name)
- Specified by:
getStringin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
isDefault
public boolean isDefault(java.lang.String name)
- Specified by:
isDefaultin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
needsSaving
public boolean needsSaving()
- Specified by:
needsSavingin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
putValue
public void putValue(java.lang.String name, java.lang.String value)- Specified by:
putValuein interfaceorg.eclipse.jface.preference.IPreferenceStore
-
removePropertyChangeListener
public void removePropertyChangeListener(org.eclipse.jface.util.IPropertyChangeListener listener)
- Specified by:
removePropertyChangeListenerin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
setDefault
public void setDefault(java.lang.String name, double value)- Specified by:
setDefaultin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
setDefault
public void setDefault(java.lang.String name, float value)- Specified by:
setDefaultin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
setDefault
public void setDefault(java.lang.String name, int value)- Specified by:
setDefaultin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
setDefault
public void setDefault(java.lang.String name, long value)- Specified by:
setDefaultin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
setDefault
public void setDefault(java.lang.String name, java.lang.String defaultObject)- Specified by:
setDefaultin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
setDefault
public void setDefault(java.lang.String name, boolean value)- Specified by:
setDefaultin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
setToDefault
public void setToDefault(java.lang.String name)
- Specified by:
setToDefaultin interfaceorg.eclipse.jface.preference.IPreferenceStore
-
setValue
public void setValue(java.lang.String name, double value)- Specified by:
setValuein interfaceorg.eclipse.jface.preference.IPreferenceStore
-
setValue
public void setValue(java.lang.String name, float value)- Specified by:
setValuein interfaceorg.eclipse.jface.preference.IPreferenceStore
-
setValue
public void setValue(java.lang.String name, int value)- Specified by:
setValuein interfaceorg.eclipse.jface.preference.IPreferenceStore
-
setValue
public void setValue(java.lang.String name, long value)- Specified by:
setValuein interfaceorg.eclipse.jface.preference.IPreferenceStore
-
setValue
public void setValue(java.lang.String name, java.lang.String value)- Specified by:
setValuein interfaceorg.eclipse.jface.preference.IPreferenceStore
-
setValue
public void setValue(java.lang.String name, boolean value)- Specified by:
setValuein interfaceorg.eclipse.jface.preference.IPreferenceStore
-
save
public void save() throws java.io.IOException- Specified by:
savein interfaceorg.eclipse.jface.preference.IPersistentPreferenceStore- Throws:
java.io.IOException
-
-