public abstract class AbstractProjectWorkspacePreference<T> extends java.lang.Object implements IProjectWorkspacePreference<T>
IProjectWorkspacePreference
. Provides almost all logic required for being used
with a concrete preference
Defines two methods, toObject(String)
and toString(Object)
, to convert the preference values. These
methods should be overwritten by the subclasses.
Modifier and Type | Field and Description |
---|---|
protected AbstractProjectPreference<T> |
projectPreference
Project preference corresponding to the current preference.
|
protected AbstractWorkspacePreference<T> |
workspacePreference
Workspace preference corresponding to the current preference.
|
Constructor and Description |
---|
AbstractProjectWorkspacePreference(java.lang.String requiredProjectNatureId,
java.lang.String qualifier,
java.lang.String key,
java.lang.String defaultValueAsString)
Constructor of the preference using the same qualifier is used at project level and at workspace level.
|
AbstractProjectWorkspacePreference(java.lang.String requiredProjectNatureId,
java.lang.String projectLevelQualifier,
java.lang.String workspaceLevelQualifier,
java.lang.String key,
java.lang.String defaultValueAsString)
Constructor of the preference.
|
Modifier and Type | Method and Description |
---|---|
void |
addPreferenceChangeListenerToProject(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener listener)
Registers the given listener for notification of project-level changes of this preference in specified project.
|
void |
addPreferenceChangeListenerToWorkspace(org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener listener)
Registers the given listener for notification of workspace-level changes of this preference.
|
T |
get(org.eclipse.core.resources.IProject project)
Returns the value of the preference.
|
T |
getDefaultValueAsObject() |
java.lang.String |
getDefaultValueAsString()
Returns the default value for the preference.
|
T |
getFromProject(org.eclipse.core.resources.IProject project)
Returns the value of the preference from the project.
|
T |
getFromWorkspace()
Returns the value of the preference from the workspace.
|
T |
getFromWorkspaceForProject(org.eclipse.core.resources.IProject project)
Returns the value of the preference from the workspace.
|
java.lang.String |
getKey()
Returns the key of the preference.
|
java.lang.String |
getQualifier()
Returns the qualifier of the preference.
|
java.lang.String |
getRequiredProjectNatureId()
Return the identifier of the project nature that is required by the preference.
|
void |
removePreferenceChangeListenerFromProject(org.eclipse.core.resources.IProject project,
org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener listener)
Unregisters the given listener from receiving notification of project-level changes of this preference in
specified project.
|
void |
removePreferenceChangeListenerFromWorkspace(org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener listener)
Unregisters the given listener from receiving notification of workspace-level changes of this preference.
|
void |
setInProject(org.eclipse.core.resources.IProject project,
T valueAsObject)
Set the value of the preference in the project.
|
void |
setInWorkspace(T valueAsObject)
Sets the value of the preference in the workspace.
|
void |
setToDefaultInProject(org.eclipse.core.resources.IProject project) |
void |
setToDefaultInWorkspace() |
protected T |
toObject(org.eclipse.core.resources.IProject project,
java.lang.String valueAsString)
Converts the
valueAsString , that is a possible string value for the preference, into an object
value. |
protected T |
toObject(java.lang.String valueAsString)
Converts the
valueAsString , that is a possible string value for the preference, into an object
value. |
protected java.lang.String |
toString(org.eclipse.core.resources.IProject project,
T valueAsObject)
Converts the
valueAsObject , that is a possible object value for the preference, into a string value. |
protected java.lang.String |
toString(T valueAsObject)
Converts the
valueAsObject , that is a possible object value for the preference, into a string value. |
protected AbstractProjectPreference<T> projectPreference
protected AbstractWorkspacePreference<T> workspacePreference
public AbstractProjectWorkspacePreference(java.lang.String requiredProjectNatureId, java.lang.String qualifier, java.lang.String key, java.lang.String defaultValueAsString)
requiredProjectNatureId
- the project nature that is required by the preferencequalifier
- the qualifier of the preferencekey
- the key of the preferencedefaultValueAsString
- the default value of the preferenceAbstractProjectWorkspacePreference(String, String, String, String, String)
public AbstractProjectWorkspacePreference(java.lang.String requiredProjectNatureId, java.lang.String projectLevelQualifier, java.lang.String workspaceLevelQualifier, java.lang.String key, java.lang.String defaultValueAsString)
requiredProjectNatureId
- the project nature that is required by the preferenceprojectLevelQualifier
- the qualifier of the preference at project levelworkspaceLevelQualifier
- the qualifier of the preference at workspace levelkey
- the key of the preferencedefaultValueAsString
- the default value of the preferencepublic java.lang.String getQualifier()
In the case where the project level qualifier and the workspace level qualifiers are different, this implementation returns the latter. This method may be overwritten by subclasses if necessary.
getQualifier
in interface IEclipsePreference<T>
IEclipsePreference.getQualifier()
public java.lang.String getKey()
IEclipsePreference
getKey
in interface IEclipsePreference<T>
public java.lang.String getDefaultValueAsString()
IEclipsePreference
String
, whatever the type of the preference is.getDefaultValueAsString
in interface IEclipsePreference<T>
public java.lang.String getRequiredProjectNatureId()
IProjectWorkspacePreference
getRequiredProjectNatureId
in interface IProjectWorkspacePreference<T>
public T get(org.eclipse.core.resources.IProject project)
IProjectWorkspacePreference
get
in interface IProjectWorkspacePreference<T>
project
- the project for which the preference is to be retrievedpublic T getDefaultValueAsObject()
getDefaultValueAsObject
in interface IProjectWorkspacePreference<T>
public T getFromProject(org.eclipse.core.resources.IProject project)
IProjectWorkspacePreference
null
is returned. The behavior of this method may depend on the nature of the
project that is provided as a parameter.getFromProject
in interface IProjectWorkspacePreference<T>
project
- the project for which the preference is to be retrievedIProjectPreference.get(IProject)
public void setInProject(org.eclipse.core.resources.IProject project, T valueAsObject)
IProjectWorkspacePreference
setInProject
in interface IProjectWorkspacePreference<T>
project
- the project for which the preference is to be retrievedvalueAsObject
- the new value of the preferenceIProjectPreference.set(IProject, Object)
public void setToDefaultInProject(org.eclipse.core.resources.IProject project)
setToDefaultInProject
in interface IProjectWorkspacePreference<T>
public void addPreferenceChangeListenerToProject(org.eclipse.core.resources.IProject project, org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener listener)
IProjectWorkspacePreference
null
.addPreferenceChangeListenerToProject
in interface IProjectWorkspacePreference<T>
project
- the project in which the changes of this preference are to be observedlistener
- the preference change listener to register#removePreferenceChangeListener(IEclipsePreferences.IPreferenceChangeListener)
,
IEclipsePreferences.IPreferenceChangeListener
public void removePreferenceChangeListenerFromProject(org.eclipse.core.resources.IProject project, org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener listener)
IProjectWorkspacePreference
null
.removePreferenceChangeListenerFromProject
in interface IProjectWorkspacePreference<T>
project
- the project in which the changes of this preference have been observedlistener
- the preference change listener to remove#addPreferenceChangeListener(IEclipsePreferences.IPreferenceChangeListener)
,
IEclipsePreferences.IPreferenceChangeListener
public T getFromWorkspace()
IProjectWorkspacePreference
getFromWorkspace
in interface IProjectWorkspacePreference<T>
IWorkspacePreference.get()
public T getFromWorkspaceForProject(org.eclipse.core.resources.IProject project)
IProjectWorkspacePreference
getFromWorkspaceForProject
in interface IProjectWorkspacePreference<T>
project
- the project for which the preference is to be retrievedIWorkspacePreference.get()
public void setInWorkspace(T valueAsObject)
IProjectWorkspacePreference
setInWorkspace
in interface IProjectWorkspacePreference<T>
valueAsObject
- the new value of the preferenceIWorkspacePreference.set(Object)
public void setToDefaultInWorkspace()
setToDefaultInWorkspace
in interface IProjectWorkspacePreference<T>
public void addPreferenceChangeListenerToWorkspace(org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener listener)
IProjectWorkspacePreference
null
.addPreferenceChangeListenerToWorkspace
in interface IProjectWorkspacePreference<T>
listener
- the preference change listener to register#removePreferenceChangeListener(IEclipsePreferences.IPreferenceChangeListener)
,
IEclipsePreferences.IPreferenceChangeListener
public void removePreferenceChangeListenerFromWorkspace(org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener listener)
IProjectWorkspacePreference
null
.removePreferenceChangeListenerFromWorkspace
in interface IProjectWorkspacePreference<T>
listener
- the preference change listener to remove#addPreferenceChangeListener(IEclipsePreferences.IPreferenceChangeListener)
,
IEclipsePreferences.IPreferenceChangeListener
protected T toObject(org.eclipse.core.resources.IProject project, java.lang.String valueAsString)
valueAsString
, that is a possible string value for the preference, into an object
value. The conversion may depend on the nature of the project
that is provided.
By default this method returns the result of toObject(String)
. This method may be overwritten by the
subclasses.
project
- the project the preference depends onvalueAsString
- string value to be convertedprotected java.lang.String toString(org.eclipse.core.resources.IProject project, T valueAsObject)
valueAsObject
, that is a possible object value for the preference, into a string value.
The conversion may depend on the nature of the project
that is provided.
By default this method returns the result of toString(Object)
. This method may be overwritten by the
subclasses.
project
- the project the preference depends onvalueAsObject
- object value to be convertedprotected T toObject(java.lang.String valueAsString)
valueAsString
, that is a possible string value for the preference, into an object
value. This conversion do not depend on the nature of the project.
By default this method returns null
. It has to be overwritten by the subclasses.
valueAsString
- string value to be convertedprotected java.lang.String toString(T valueAsObject)
valueAsObject
, that is a possible object value for the preference, into a string value.
This conversion do not depend on the nature of the project.
By default, calls the Object.toString()
method of the object value to perform the conversion. It returns
null
if valueAsObject
is null
. This method may be overwritten by the
subclasses.
project
- the project the preference depends onvalueAsObject
- object value to be converted