org.apache.jetspeed.util
Class PreferencesRootWrapper
java.lang.Object
java.util.prefs.Preferences
org.apache.jetspeed.util.PreferencesRootWrapper
- All Implemented Interfaces:
- java.util.Observer
public class PreferencesRootWrapper
- extends java.util.prefs.Preferences
- implements java.util.Observer
PreferencesRootWrapper is a lightweight wrapper around the Jetspeed persistent PreferencesImpl to allow
restarting the Jetspeed Portal.
As the (Sun) Java Preferences implementation only creates a PreferencesFactory instance *once* per JVM
(as static final), reloading the Jetspeed Portal (using a new classloader) requires a wrapper solution
to prevent ClassCastExceptions and/or out-of-sync kept proxies and caches.
As a newly created Jetspeed Portal classloader can no longer cast a previous Preferences root to its
own PreferencesImpl, a "trick" is used by also implementing the Observer interface (which is provided by
the Java system classloader). The Observer interface is used because it is very lightweight and allows
passing an Object instance through its update method. That update method is used to "inject" the newly
created Preferences root instance.
- Version:
- $Id: PreferencesRootWrapper.java 740489 2009-02-03 22:25:06Z taylor $
- Author:
- Ate Douma
| Fields inherited from class java.util.prefs.Preferences |
MAX_KEY_LENGTH, MAX_NAME_LENGTH, MAX_VALUE_LENGTH |
|
Method Summary |
java.lang.String |
absolutePath()
|
void |
addNodeChangeListener(java.util.prefs.NodeChangeListener ncl)
|
void |
addPreferenceChangeListener(java.util.prefs.PreferenceChangeListener pcl)
|
java.lang.String[] |
childrenNames()
|
void |
clear()
|
boolean |
equals(java.lang.Object obj)
|
void |
exportNode(java.io.OutputStream os)
|
void |
exportSubtree(java.io.OutputStream os)
|
void |
flush()
|
java.lang.String |
get(java.lang.String key,
java.lang.String def)
|
boolean |
getBoolean(java.lang.String key,
boolean def)
|
byte[] |
getByteArray(java.lang.String key,
byte[] def)
|
double |
getDouble(java.lang.String key,
double def)
|
float |
getFloat(java.lang.String key,
float def)
|
int |
getInt(java.lang.String key,
int def)
|
long |
getLong(java.lang.String key,
long def)
|
int |
hashCode()
|
boolean |
isUserNode()
|
java.lang.String[] |
keys()
|
java.lang.String |
name()
|
java.util.prefs.Preferences |
node(java.lang.String pathName)
|
boolean |
nodeExists(java.lang.String pathName)
|
java.util.prefs.Preferences |
parent()
|
void |
put(java.lang.String key,
java.lang.String value)
|
void |
putBoolean(java.lang.String key,
boolean value)
|
void |
putByteArray(java.lang.String key,
byte[] value)
|
void |
putDouble(java.lang.String key,
double value)
|
void |
putFloat(java.lang.String key,
float value)
|
void |
putInt(java.lang.String key,
int value)
|
void |
putLong(java.lang.String key,
long value)
|
void |
remove(java.lang.String key)
|
void |
removeNode()
|
void |
removeNodeChangeListener(java.util.prefs.NodeChangeListener ncl)
|
void |
removePreferenceChangeListener(java.util.prefs.PreferenceChangeListener pcl)
|
void |
sync()
|
java.lang.String |
toString()
|
void |
update(java.util.Observable o,
java.lang.Object arg)
|
| Methods inherited from class java.util.prefs.Preferences |
importPreferences, systemNodeForPackage, systemRoot, userNodeForPackage, userRoot |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
PreferencesRootWrapper
public PreferencesRootWrapper()
absolutePath
public java.lang.String absolutePath()
- Specified by:
absolutePath in class java.util.prefs.Preferences
addNodeChangeListener
public void addNodeChangeListener(java.util.prefs.NodeChangeListener ncl)
- Specified by:
addNodeChangeListener in class java.util.prefs.Preferences
addPreferenceChangeListener
public void addPreferenceChangeListener(java.util.prefs.PreferenceChangeListener pcl)
- Specified by:
addPreferenceChangeListener in class java.util.prefs.Preferences
childrenNames
public java.lang.String[] childrenNames()
throws java.util.prefs.BackingStoreException
- Specified by:
childrenNames in class java.util.prefs.Preferences
- Throws:
java.util.prefs.BackingStoreException
clear
public void clear()
throws java.util.prefs.BackingStoreException
- Specified by:
clear in class java.util.prefs.Preferences
- Throws:
java.util.prefs.BackingStoreException
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals in class java.lang.Object
exportNode
public void exportNode(java.io.OutputStream os)
throws java.io.IOException,
java.util.prefs.BackingStoreException
- Specified by:
exportNode in class java.util.prefs.Preferences
- Throws:
java.io.IOException
java.util.prefs.BackingStoreException
exportSubtree
public void exportSubtree(java.io.OutputStream os)
throws java.io.IOException,
java.util.prefs.BackingStoreException
- Specified by:
exportSubtree in class java.util.prefs.Preferences
- Throws:
java.io.IOException
java.util.prefs.BackingStoreException
flush
public void flush()
throws java.util.prefs.BackingStoreException
- Specified by:
flush in class java.util.prefs.Preferences
- Throws:
java.util.prefs.BackingStoreException
get
public java.lang.String get(java.lang.String key,
java.lang.String def)
- Specified by:
get in class java.util.prefs.Preferences
getBoolean
public boolean getBoolean(java.lang.String key,
boolean def)
- Specified by:
getBoolean in class java.util.prefs.Preferences
getByteArray
public byte[] getByteArray(java.lang.String key,
byte[] def)
- Specified by:
getByteArray in class java.util.prefs.Preferences
getDouble
public double getDouble(java.lang.String key,
double def)
- Specified by:
getDouble in class java.util.prefs.Preferences
getFloat
public float getFloat(java.lang.String key,
float def)
- Specified by:
getFloat in class java.util.prefs.Preferences
getInt
public int getInt(java.lang.String key,
int def)
- Specified by:
getInt in class java.util.prefs.Preferences
getLong
public long getLong(java.lang.String key,
long def)
- Specified by:
getLong in class java.util.prefs.Preferences
hashCode
public int hashCode()
- Overrides:
hashCode in class java.lang.Object
isUserNode
public boolean isUserNode()
- Specified by:
isUserNode in class java.util.prefs.Preferences
keys
public java.lang.String[] keys()
throws java.util.prefs.BackingStoreException
- Specified by:
keys in class java.util.prefs.Preferences
- Throws:
java.util.prefs.BackingStoreException
name
public java.lang.String name()
- Specified by:
name in class java.util.prefs.Preferences
node
public java.util.prefs.Preferences node(java.lang.String pathName)
- Specified by:
node in class java.util.prefs.Preferences
nodeExists
public boolean nodeExists(java.lang.String pathName)
throws java.util.prefs.BackingStoreException
- Specified by:
nodeExists in class java.util.prefs.Preferences
- Throws:
java.util.prefs.BackingStoreException
parent
public java.util.prefs.Preferences parent()
- Specified by:
parent in class java.util.prefs.Preferences
put
public void put(java.lang.String key,
java.lang.String value)
- Specified by:
put in class java.util.prefs.Preferences
putBoolean
public void putBoolean(java.lang.String key,
boolean value)
- Specified by:
putBoolean in class java.util.prefs.Preferences
putByteArray
public void putByteArray(java.lang.String key,
byte[] value)
- Specified by:
putByteArray in class java.util.prefs.Preferences
putDouble
public void putDouble(java.lang.String key,
double value)
- Specified by:
putDouble in class java.util.prefs.Preferences
putFloat
public void putFloat(java.lang.String key,
float value)
- Specified by:
putFloat in class java.util.prefs.Preferences
putInt
public void putInt(java.lang.String key,
int value)
- Specified by:
putInt in class java.util.prefs.Preferences
putLong
public void putLong(java.lang.String key,
long value)
- Specified by:
putLong in class java.util.prefs.Preferences
remove
public void remove(java.lang.String key)
- Specified by:
remove in class java.util.prefs.Preferences
removeNode
public void removeNode()
throws java.util.prefs.BackingStoreException
- Specified by:
removeNode in class java.util.prefs.Preferences
- Throws:
java.util.prefs.BackingStoreException
removeNodeChangeListener
public void removeNodeChangeListener(java.util.prefs.NodeChangeListener ncl)
- Specified by:
removeNodeChangeListener in class java.util.prefs.Preferences
removePreferenceChangeListener
public void removePreferenceChangeListener(java.util.prefs.PreferenceChangeListener pcl)
- Specified by:
removePreferenceChangeListener in class java.util.prefs.Preferences
sync
public void sync()
throws java.util.prefs.BackingStoreException
- Specified by:
sync in class java.util.prefs.Preferences
- Throws:
java.util.prefs.BackingStoreException
toString
public java.lang.String toString()
- Specified by:
toString in class java.util.prefs.Preferences
update
public void update(java.util.Observable o,
java.lang.Object arg)
- Specified by:
update in interface java.util.Observer
Copyright © 1999-2010 Apache Software Foundation. All Rights Reserved.