Package org.eclipse.cdt.utils.envvar
Class PrefsStorableEnvironment
java.lang.Object
org.eclipse.cdt.utils.envvar.StorableEnvironment
org.eclipse.cdt.utils.envvar.PrefsStorableEnvironment
This class represents the set of environment variables that could be loaded
and stored from a IEclipsePreferences store. It acts like an OverlayStore caching
outstanding changes while not yet serialized, as well as responding to change
in the Preference store itself.
fCachedSerialEnv is a cache of the contents of the preference store
fVariables (in parent) contains runtime added / changed variables
fDeleteVaraibles contains delete variable names
When serialize is called, all changes in Variables / Delete are serialized to the
ISerializeInfo store, Cached is updated, and fVariables and fDeletedVariables cleared.
StorableEnvironment stores the Preferences in a single XML encoded String in
ISerializeInfo.getNode().get(ISerializeInfo.getName())
This class defaults to storing the environment as 'Raw' items in the Preferences
under:
ISerializeInfo.getNode().node(ISerializeInfo.getName())
- Since:
- 5.2
- Restriction:
- This class is not intended to be subclassed by clients.
- Restriction:
- This class is not intended to be instantiated by clients.
-
Field Summary
Modifier and TypeFieldDescriptionSet of 'deleted' variables (to be removed from the backing store)Fields inherited from class org.eclipse.cdt.utils.envvar.StorableEnvironment
ENVIRONMENT_ELEMENT_NAME
-
Method Summary
Modifier and TypeMethodDescriptioncreateVariable
(String name, String value, int op, String delimiter) boolean
deleteVariable
(String name) protected void
finalize()
getVariable
(String name) boolean
isDirty()
Returns the "dirty" state of the environment.void
Adds a listener that will be notified of changes in environment variables.void
void
serialize
(ICStorageElement element) Deprecated.void
setAppendContributedEnvironment
(boolean append) void
setAppendEnvironment
(boolean append) void
Removes an environment variables change listener.Methods inherited from class org.eclipse.cdt.utils.envvar.StorableEnvironment
appendContributedEnvironment, appendEnvironment, checkVariable, createVariable, createVariable, createVariable, createVriables, getVariables, isChanged, isReadOnly, setChanged, setDirty, setVariales
-
Field Details
-
fDeletedVariables
Set of 'deleted' variables (to be removed from the backing store)
-
-
Method Details
-
serialize
Deprecated.Serialize the Storable environment into the ICStorageElement NB assumes that any variables part of the ISerializeInfo will continue to be serialized Use #serialize instead for persisting into the Preference store- Overrides:
serialize
in classStorableEnvironment
- Parameters:
element
-
-
createVariable
- Overrides:
createVariable
in classStorableEnvironment
-
getVariable
- Overrides:
getVariable
in classStorableEnvironment
- Parameters:
name
-- Returns:
- the environment variable with the given name, or null
-
deleteVariable
- Overrides:
deleteVariable
in classStorableEnvironment
-
deleteAll
public boolean deleteAll()- Overrides:
deleteAll
in classStorableEnvironment
-
setAppendEnvironment
public void setAppendEnvironment(boolean append) - Overrides:
setAppendEnvironment
in classStorableEnvironment
-
setAppendContributedEnvironment
public void setAppendContributedEnvironment(boolean append) - Overrides:
setAppendContributedEnvironment
in classStorableEnvironment
-
restoreDefaults
public void restoreDefaults()- Overrides:
restoreDefaults
in classStorableEnvironment
-
isDirty
public boolean isDirty()Description copied from class:StorableEnvironment
Returns the "dirty" state of the environment. If the dirty state istrue
, that means that the environment is out of synch with the repository and the environment needs to be serialized.
The dirty state is automatically set tofalse
when the environment is serialized by calling the serialize() method- Overrides:
isDirty
in classStorableEnvironment
- Returns:
- boolean
-
registerEnvironmentChangeListener
Adds a listener that will be notified of changes in environment variables.- Parameters:
listener
- - the listener to add- Since:
- 5.5
-
unregisterEnvironmentChangeListener
Removes an environment variables change listener.- Parameters:
listener
- - the listener to remove.- Since:
- 5.5
-
finalize
-