public class PreferencesAdapter extends Object implements IPreferences, INotificationSupport, PreferenceChangeListener, IBasicAccessSupport
Preferences to IPreferences.| Modifier and Type | Field and Description |
|---|---|
static String |
MODIFIER_NULL |
static String |
NODE_METADATA |
SCOPE_DEFAULT, SCOPE_GLOBAL, SCOPE_INSTALLATION, SCOPE_TEAM, SCOPE_USER, SEPARATOR| Constructor and Description |
|---|
PreferencesAdapter(PreferencesAdapter parent,
Preferences jPrefs) |
| Modifier and Type | Method and Description |
|---|---|
String |
absolutePath()
Returns this preference node's absolute path name.
|
void |
addNotificationListener(EventType type,
INotificationListener listener)
Add
listener to the collection of objects to be informed
when the receiver triggers an event of type name. |
Object |
basicGetValue(String name)
Make a reflective get access to
name. |
Object |
basicSetValue(String name,
Object value)
Make a reflective set access to
name. |
IPreferences[] |
children()
The array of all child preferences.
|
String[] |
childrenNames()
Returns the names of the children of this preference node, relative to
this node.
|
void |
clear()
Removes all of the preferences (key-value associations) in this
preference node.
|
void |
flush()
Forces any changes in the contents of this preference node and its
descendants to the persistent store.
|
String |
get(String name)
Returns the current value of the string-valued preference with the given
key.
|
String |
get(String key,
String def)
Returns the value associated with the specified key in this preference
node.
|
boolean |
getBoolean(String name)
Returns the current value of the boolean-valued preference with the given
key.
|
boolean |
getBoolean(String key,
boolean def)
Returns the boolean value represented by the string associated with the
specified key in this preference node.
|
byte[] |
getByteArray(String key,
byte[] def)
Returns the byte array value represented by the string associated with
the specified key in this preference node.
|
double |
getDouble(String name)
Returns the current value of the double-valued preference with the given
key.
|
double |
getDouble(String key,
double def)
Returns the double value represented by the string associated with the
specified key in this preference node.
|
float |
getFloat(String name)
Returns the current value of the float-valued preference with the given
key.
|
float |
getFloat(String key,
float def)
Returns the float value represented by the string associated with the
specified key in this preference node.
|
int |
getInt(String name)
Returns the current value of the integer-valued preference with the given
key.
|
int |
getInt(String key,
int def)
Returns the int value represented by the string associated with the
specified key in this preference node.
|
long |
getLong(String name)
Returns the current value of the long-valued preference with the given
key.
|
long |
getLong(String key,
long def)
Returns the long value represented by the string associated with the
specified key in this preference node.
|
String |
getModifierString(String key) |
boolean |
hasModifier(String key,
String modifier)
true if the preference has the requested modifier. |
String[] |
keys()
Returns all of the keys that have an associated value in this preference
node.
|
String |
name()
Returns this preference node's name, relative to its parent.
|
IPreferences |
node(String pathName)
Returns the named preference node in the same tree as this node, creating
it and any of its ancestors if they do not already exist.
|
boolean |
nodeExists(String pathName)
Returns true if the named preference node exists in the same tree as this
node.
|
IPreferences |
parent()
Returns the parent of this preference node, or null if this is
the root.
|
void |
preferenceChange(PreferenceChangeEvent evt) |
Map<String,String> |
properties()
A map of all property mappings in this
IPreferences node. |
void |
put(String name,
boolean value)
Sets the current value of the boolean-valued preference with the given
key.
|
void |
put(String name,
byte[] value)
Associates a string representing the specified byte array with the
specified key in this preference node.
|
void |
put(String name,
double value)
Sets the current value of the double-valued preference with the given
key.
|
void |
put(String name,
float value)
Sets the current value of the float-valued preference with the given key.
|
void |
put(String name,
int value)
Sets the current value of the integer-valued preference with the given
key.
|
void |
put(String name,
long value)
Sets the current value of the long-valued preference with the given key.
|
void |
put(String name,
String value)
Sets the current value of the string-valued preference with the given
key.
|
void |
putBoolean(String key,
boolean value)
Set the current value.
|
void |
putByteArray(String name,
byte[] value)
Set the current value.
|
void |
putDouble(String key,
double value)
Set the current value.
|
void |
putFloat(String key,
float value)
Set the current value.
|
void |
putInt(String key,
int value)
Set the current value.
|
void |
putLong(String key,
long value)
Set the current value.
|
void |
remove(String name)
Removes the value associated with the specified key in this preference
node, if any.
|
void |
removeModifiers(String key) |
void |
removeNode()
Removes this preference node and all of its descendants, invalidating any
preferences contained in the removed nodes.
|
void |
removeNotificationListener(EventType type,
INotificationListener listener)
Remove
listener from the collection of objects to be
informed about events of type name. |
IPreferences |
restrict(String scopeName)
Create a new IPreferences object whose scopes include all scopes from the
receiver before and including "scopeName".
|
void |
setModifierString(String key,
String modifiers) |
void |
sync()
Ensures that future reads from this preference node and its descendants
reflect any changes that were committed to the persistent store (from any
VM) prior to the sync invocation.
|
public static final String NODE_METADATA
public static final String MODIFIER_NULL
public PreferencesAdapter(PreferencesAdapter parent, Preferences jPrefs)
public String absolutePath()
IPreferencesabsolutePath in interface IPreferencespublic void addNotificationListener(EventType type, INotificationListener listener)
INotificationSupportlistener to the collection of objects to be informed
when the receiver triggers an event of type name.addNotificationListener in interface INotificationSupporttype - The event type we are interested in.listener - The object to be informed about an event occurrencepublic Object basicGetValue(String name) throws FieldException
IBasicAccessSupportname.basicGetValue in interface IBasicAccessSupportname - The name of the field to get.FieldExceptionpublic Object basicSetValue(String name, Object value) throws FieldException
IBasicAccessSupportname.basicSetValue in interface IBasicAccessSupportname - The name of the field to get.value - The new value for the fieldFieldExceptionpublic IPreferences[] children()
IPreferenceschildren in interface IPreferencespublic String[] childrenNames()
IPreferenceschildrenNames in interface IPreferencespublic void clear()
throws BackingStoreException
IPreferencesIf this implementation supports stored defaults, and this node in the preferences hierarchy contains any such defaults, the stored defaults will be "exposed" by this call, in the sense that they will be returned by succeeding calls to get.
clear in interface IPreferencesBackingStoreException - if this operation cannot be completed due to a failure in the
backing store, or inability to communicate with it.IPreferences.removeNode()public void flush()
IPreferencesImplementations are free to flush changes into the persistent store at any time. They do not need to wait for this method to be called.
When a flush occurs on a newly created node, it is made persistent, as are any ancestors (and descendants) that have yet to be made persistent. Note however that any preference value changes in ancestors are not guaranteed to be made persistent.
If this method is invoked on a node that has been removed with the
IPreferences.removeNode() method, flushSpi() is invoked on this node, but not
on others.
flush in interface IPreferencesIPreferences.sync()public String get(String name)
IPreferences""
) if there is no preference with the given key, or if the current value
cannot be treated as a string.get in interface IPreferencesname - the key of the preferencepublic String get(String key, String def)
IPreferencesSome implementations may store default values in their backing stores. If there is no value associated with the specified key but there is such a stored default, it is returned in preference to the specified default.
get in interface IPreferenceskey - key whose associated value is to be returned.def - the value to be returned in the event that this preference
node has no value associated with key.public boolean getBoolean(String name)
IPreferencesfalse) if there is
no preference with the given key, or if the current value cannot be
treated as a boolean.getBoolean in interface IPreferencesname - the key of the preferencepublic boolean getBoolean(String key, boolean def)
IPreferencesIPreferences.putBoolean(java.lang.String, boolean).
Returns the specified default if there is no value associated with the key, the backing store is inaccessible, or if the associated value is something other than "true" or "false", ignoring case.
If the implementation supports stored defaults and such a default exists and is accessible, it is used in preference to the specified default, unless the stored default is something other than "true" or "false", ignoring case, in which case the specified default is used.
getBoolean in interface IPreferenceskey - key whose associated value is to be returned as a boolean.def - the value to be returned in the event that this preference
node has no value associated with key or the
associated value cannot be interpreted as a boolean, or the
backing store is inaccessible.IPreferences.get(String,String),
IPreferences.putBoolean(String,boolean)public byte[] getByteArray(String key, byte[] def)
IPreferencesIPreferences.putByteArray(java.lang.String, byte[]).
Returns the specified default if there is no value associated with the key, the backing store is inaccessible, or if the associated value is not a valid Base64 encoded byte array (as defined above).
If the implementation supports stored defaults and such a default exists and is accessible, it is used in preference to the specified default, unless the stored default is not a valid Base64 encoded byte array (as defined above), in which case the specified default is used.
getByteArray in interface IPreferenceskey - key whose associated value is to be returned as a byte array.def - the value to be returned in the event that this preference
node has no value associated with key or the
associated value cannot be interpreted as a byte array, or the
backing store is inaccessible.IPreferences.get(String,String),
IPreferences.putByteArray(String,byte[])public double getDouble(String name)
IPreferences0.0) if there is no
preference with the given key, or if the current value cannot be treated
as a double.getDouble in interface IPreferencesname - the key of the preferencepublic double getDouble(String key, double def)
IPreferencesDouble.parseDouble(String). Returns the specified
default if there is no value associated with the key, the backing store
is inaccessible, or if Double.parseDouble(String) would throw a
NumberFormatException if the associated value were passed. This
method is intended for use in conjunction with IPreferences.putDouble(java.lang.String, double).
If the implementation supports stored defaults and such a default exists, is accessible, and could be converted to a double with Double.parseDouble, this double is returned in preference to the specified default.
getDouble in interface IPreferenceskey - key whose associated value is to be returned as a double.def - the value to be returned in the event that this preference
node has no value associated with key or the
associated value cannot be interpreted as a double, or the
backing store is inaccessible.IPreferences.putDouble(String,double),
IPreferences.get(String,String)public float getFloat(String name)
IPreferences0.0f) if there is no
preference with the given key, or if the current value cannot be treated
as a float.getFloat in interface IPreferencesname - the key of the preferencepublic float getFloat(String key, float def)
IPreferencesFloat.parseFloat(String). Returns the specified
default if there is no value associated with the key, the backing store
is inaccessible, or if Float.parseFloat(String) would throw a
NumberFormatException if the associated value were passed. This
method is intended for use in conjunction with IPreferences.putFloat(java.lang.String, float).
If the implementation supports stored defaults and such a default exists, is accessible, and could be converted to a float with Float.parseFloat, this float is returned in preference to the specified default.
getFloat in interface IPreferenceskey - key whose associated value is to be returned as a float.def - the value to be returned in the event that this preference
node has no value associated with key or the
associated value cannot be interpreted as a float, or the
backing store is inaccessible.IPreferences.putFloat(String,float),
IPreferences.get(String,String)public int getInt(String name)
IPreferences0) if there is no
preference with the given key, or if the current value cannot be treated
as an integer.getInt in interface IPreferencesname - the key of the preferencepublic int getInt(String key, int def)
IPreferencesInteger.parseInt(String). Returns the specified
default if there is no value associated with the key, the backing store
is inaccessible, or if Integer.parseInt(String) would throw a
NumberFormatException if the associated value were passed. This
method is intended for use in conjunction with IPreferences.putInt(java.lang.String, int).
If the implementation supports stored defaults and such a default exists, is accessible, and could be converted to an int with Integer.parseInt, this int is returned in preference to the specified default.
getInt in interface IPreferenceskey - key whose associated value is to be returned as an int.def - the value to be returned in the event that this preference
node has no value associated with key or the
associated value cannot be interpreted as an int, or the
backing store is inaccessible.IPreferences.putInt(String,int),
IPreferences.get(String,String)public long getLong(String name)
IPreferences0L) if there is no
preference with the given key, or if the current value cannot be treated
as a long.getLong in interface IPreferencesname - the key of the preferencepublic long getLong(String key, long def)
IPreferencesLong.parseLong(String). Returns the specified default if
there is no value associated with the key, the backing store is
inaccessible, or if Long.parseLong(String) would throw a
NumberFormatException if the associated value were passed. This
method is intended for use in conjunction with IPreferences.putLong(java.lang.String, long).
If the implementation supports stored defaults and such a default exists, is accessible, and could be converted to a long with Long.parseLong, this long is returned in preference to the specified default.
getLong in interface IPreferenceskey - key whose associated value is to be returned as a long.def - the value to be returned in the event that this preference
node has no value associated with key or the
associated value cannot be interpreted as a long, or the
backing store is inaccessible.IPreferences.putLong(String,long),
IPreferences.get(String,String)public String getModifierString(String key)
getModifierString in interface IPreferencespublic boolean hasModifier(String key, String modifier)
IPreferencestrue if the preference has the requested modifier.
An implementation is free to support modifiers and define their respective semantics.
An example for a modifier may be "secret" to indicate that the preference value is encrypted.
hasModifier in interface IPreferencesmodifier - The modifier.true if the preference has the requested modifier.public String[] keys()
IPreferencesIf the implementation supports stored defaults and there are any such defaults at this node that have not been overridden, by explicit preferences, the defaults are returned in the array in addition to any explicit preferences.
keys in interface IPreferencespublic String name()
IPreferencesname in interface IPreferencespublic IPreferences node(String pathName)
IPreferencesIf the returned node did not exist prior to this call, this node and any ancestors that were created by this call are not guaranteed to become permanent until the flush method is called on the returned node (or one of its ancestors or descendants).
node in interface IPreferencespathName - the path name of the preference node to return.IPreferences.flush()public boolean nodeExists(String pathName) throws BackingStoreException
IPreferences
If this node (or an ancestor) has already been removed with the
IPreferences.removeNode() method, it is legal to invoke this method,
but only with the path name ""; the invocation will return
false. Thus, the idiom p.nodeExists("") may be used to
test whether p has been removed.
nodeExists in interface IPreferencespathName - the path name of the node whose existence is to be checked.BackingStoreException - if this operation cannot be completed due to a failure in the
backing store, or inability to communicate with it.public IPreferences parent()
IPreferencesparent in interface IPreferencespublic void preferenceChange(PreferenceChangeEvent evt)
preferenceChange in interface PreferenceChangeListenerpublic Map<String,String> properties()
IPreferencesIPreferences node.properties in interface IPreferencesIPreferences node.public void put(String name, boolean value)
IPreferencesput in interface IPreferencesname - the key of the preferencevalue - the new current value of the preferencepublic void put(String name, byte[] value)
IPreferencesIPreferences.getByteArray(java.lang.String, byte[]).put in interface IPreferencesname - key with which the string form of value is to be associated.value - value whose string form is to be associated with key.IPreferences.getByteArray(String,byte[]),
IPreferences.get(String,String)public void put(String name, double value)
IPreferencesput in interface IPreferencesname - the key of the preferencevalue - the new current value of the preferencepublic void put(String name, float value)
IPreferencesput in interface IPreferencesname - the key of the preferencevalue - the new current value of the preferencepublic void put(String name, int value)
IPreferencesput in interface IPreferencesname - the key of the preferencevalue - the new current value of the preferencepublic void put(String name, long value)
IPreferencesput in interface IPreferencesname - the key of the preferencevalue - the new current value of the preferencepublic void put(String name, String value)
IPreferencesput in interface IPreferencesname - the key of the preferencevalue - the new current value of the preferencepublic void putBoolean(String key, boolean value)
IPreferencesputBoolean in interface IPreferencespublic void putByteArray(String name, byte[] value)
IPreferencesputByteArray in interface IPreferencespublic void putDouble(String key, double value)
IPreferencesputDouble in interface IPreferencespublic void putFloat(String key, float value)
IPreferencesputFloat in interface IPreferencespublic void putInt(String key, int value)
IPreferencesputInt in interface IPreferencespublic void putLong(String key, long value)
IPreferencesputLong in interface IPreferencespublic void remove(String name)
IPreferencesIf this implementation supports stored defaults, and there is such a default for the specified preference, the stored default will be "exposed" by this call, in the sense that it will be returned by a succeeding call to get.
remove in interface IPreferencesname - key whose mapping is to be removed from the preference node.public void removeModifiers(String key)
public void removeNode()
throws BackingStoreException
IPreferencesIPreferences.name(), IPreferences.absolutePath()
, IPreferences.flush() or nodeExists("") on the
corresponding Preferences instance will fail with an
IllegalStateException. (The methods defined on Object
can still be invoked on a node after it has been removed; they will not
throw IllegalStateException.)
The removal is not guaranteed to be persistent until the flush method is called on this node (or an ancestor).
If this implementation supports stored defaults, removing a node exposes any stored defaults at or below this node. Thus, a subsequent call to nodeExists on this node's path name may return true, and a subsequent call to node on this path name may may return a (different) Preferences instance representing a non-empty collection of preferences and/or children.
removeNode in interface IPreferencesBackingStoreException - if this operation cannot be completed due to a failure in the
backing store, or inability to communicate with it.IPreferences.flush()public void removeNotificationListener(EventType type, INotificationListener listener)
INotificationSupportlistener from the collection of objects to be
informed about events of type name.removeNotificationListener in interface INotificationSupporttype - The event type we are no longer interested in.listener - The object registered for the event till now.public IPreferences restrict(String scopeName)
IPreferencesrestrict in interface IPreferencespublic void setModifierString(String key, String modifiers)
setModifierString in interface IPreferencespublic void sync()
throws BackingStoreException
IPreferencessync in interface IPreferencesBackingStoreException - if this operation cannot be completed due to a failure in the
backing store, or inability to communicate with it.IPreferences.flush()Copyright © 2013 intarsys consulting GmbH. All Rights Reserved.