public class PropertyMap
extends java.util.Properties
java.util.Properties
class which adds, among others, property event capabilities.| Modifier and Type | Field and Description |
|---|---|
protected java.util.Map |
boundListeners
Bound property name -> listener list map
|
static java.lang.String[] |
EMPTY_ARRAY_PROPERTY
Empty array property
|
private java.util.Map |
jndiMap
This map avoids heavy contention for the properties that JNDI looks
up everytime a new InitialContext instance is created.
|
private static java.lang.Object |
NULL_VALUE |
static java.lang.String |
PROPERTY_NAME_SEPARATOR
Property name separator
|
private static long |
serialVersionUID
Serial version uid
|
protected java.util.List |
unboundListeners
Property listener list
|
| Constructor and Description |
|---|
PropertyMap()
Construct a PropertyMap.
|
PropertyMap(java.util.Properties defaults)
Construct a PropertyMap with default properties.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
addPropertyListener(BoundPropertyListener listener)
Add a bound property listener.
|
void |
addPropertyListener(PropertyListener listener)
Add a property listener.
|
void |
addPropertyListeners(PropertyListener[] listeners)
Add an array of property listeners.
|
boolean |
containsProperty(java.lang.String name)
Check if this map contains a given property.
|
java.util.Set |
entrySet(boolean includeDefaults)
Returns a set of entrys for all entries in this group and optionally
all of the entrys in the defaults map.
|
private void |
firePropertyAdded(java.util.List list,
PropertyEvent event)
Fire a property added event to the given list of listeners.
|
protected void |
firePropertyAdded(PropertyEvent event)
Fire a property added event to all registered listeners.
|
private void |
firePropertyChanged(java.util.List list,
PropertyEvent event)
Fire a property changed event to the given list of listeners.
|
protected void |
firePropertyChanged(PropertyEvent event)
Fire a property changed event to all listeners.
|
private void |
firePropertyRemoved(java.util.List list,
PropertyEvent event)
Fire a property removed event to the given list of listeners.
|
protected void |
firePropertyRemoved(PropertyEvent event)
Fire a property removed event to all registered listeners.
|
java.lang.String[] |
getArrayProperty(java.lang.String name)
Get an array style property.
|
java.lang.String[] |
getArrayProperty(java.lang.String base,
java.lang.String[] defaultValues)
Get an array style property.
|
java.lang.String |
getProperty(java.lang.String name) |
PropertyGroup |
getPropertyGroup(java.lang.String basename)
Get a property group for the given property base.
|
PropertyGroup |
getPropertyGroup(java.lang.String basename,
int index)
Get a property group for the given property base at the given index.
|
private void |
init()
Initialized listener lists and the JNDI properties cache map
|
java.util.Set |
keySet(boolean includeDefaults)
Returns a set of keys for all entries in this group and optionally
all of the keys in the defaults map.
|
void |
load(java.util.Map map)
Load properties from a map.
|
void |
load(PropertyReader reader)
Load properties from a PropertyReader.
|
void |
load(java.lang.String className)
Load properties from a PropertyReader specifed by the given class name.
|
void |
load(java.lang.String prefix,
java.util.Map map)
Load properties from a map.
|
protected java.lang.String |
makeIndexPropertyName(java.lang.String base,
int index)
Make an indexed property name.
|
protected java.lang.String |
makePrefixedPropertyName(java.lang.String base,
java.lang.String prefix)
Make a optionaly prefixed property name.
|
java.util.Iterator |
names()
Return an iterator over all contained property names.
|
java.lang.Object |
put(java.lang.Object name,
java.lang.Object value)
Set a property.
|
private void |
readObject(java.io.ObjectInputStream stream) |
java.lang.Object |
remove(java.lang.Object name)
Remove a property.
|
java.lang.String |
removeProperty(java.lang.String name)
Remove a property.
|
protected boolean |
removePropertyListener(BoundPropertyListener listener)
Remove a bound property listener.
|
boolean |
removePropertyListener(PropertyListener listener)
Remove a property listener.
|
java.lang.Object |
setProperty(java.lang.String name,
java.lang.String value)
Set a property.
|
private void |
updateJndiCache(java.lang.String name,
java.lang.String value)
Called by setProperty to update the jndiMap cache values.
|
private void |
writeObject(java.io.ObjectOutputStream stream) |
getProperty, list, list, load, load, loadFromXML, propertyNames, save, store, store, storeToXML, storeToXML, stringPropertyNamesclear, clone, compute, computeIfAbsent, computeIfPresent, contains, containsKey, containsValue, elements, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keys, keySet, merge, putAll, putIfAbsent, rehash, remove, replace, replace, replaceAll, size, toString, valuesprivate static final long serialVersionUID
public static final java.lang.String PROPERTY_NAME_SEPARATOR
public static final java.lang.String[] EMPTY_ARRAY_PROPERTY
protected transient java.util.List unboundListeners
protected transient java.util.Map boundListeners
private transient java.util.Map jndiMap
private static final java.lang.Object NULL_VALUE
public PropertyMap(java.util.Properties defaults)
defaults - Default properties.public PropertyMap()
private void init()
private void updateJndiCache(java.lang.String name,
java.lang.String value)
name - the property namevalue - the property valuepublic java.lang.Object put(java.lang.Object name,
java.lang.Object value)
put in interface java.util.Map<java.lang.Object,java.lang.Object>put in class java.util.Hashtable<java.lang.Object,java.lang.Object>name - Property name.value - Property value.public java.lang.Object remove(java.lang.Object name)
remove in interface java.util.Map<java.lang.Object,java.lang.Object>remove in class java.util.Hashtable<java.lang.Object,java.lang.Object>name - Property name.public java.util.Set keySet(boolean includeDefaults)
includeDefaults - public java.util.Set entrySet(boolean includeDefaults)
includeDefaults - public void addPropertyListener(PropertyListener listener)
listener - Property listener to add.protected void addPropertyListener(BoundPropertyListener listener)
listener - Bound property listener to add.public void addPropertyListeners(PropertyListener[] listeners)
listeners - Array of property listeners to add.public boolean removePropertyListener(PropertyListener listener)
listener - Property listener to remove.protected boolean removePropertyListener(BoundPropertyListener listener)
listener - Bound property listener to remove.private void firePropertyAdded(java.util.List list,
PropertyEvent event)
list - Listener list.event - Property event.protected void firePropertyAdded(PropertyEvent event)
event - Property event.private void firePropertyRemoved(java.util.List list,
PropertyEvent event)
list - Listener list.event - Property event.protected void firePropertyRemoved(PropertyEvent event)
event - Property event.private void firePropertyChanged(java.util.List list,
PropertyEvent event)
list - Listener list.event - Property event.protected void firePropertyChanged(PropertyEvent event)
event - Property event.protected java.lang.String makePrefixedPropertyName(java.lang.String base,
java.lang.String prefix)
base - Base property name.prefix - Optional prefix (can be null).public void load(java.lang.String prefix,
java.util.Map map)
throws PropertyException
prefix - Prefix to append to all map keys (or null).map - Map containing properties to load.PropertyExceptionpublic void load(java.util.Map map)
throws PropertyException
map - Map containing properties to load.PropertyExceptionpublic void load(PropertyReader reader) throws PropertyException, java.io.IOException
reader - PropertyReader to read properties from.PropertyExceptionjava.io.IOExceptionpublic void load(java.lang.String className)
throws PropertyException,
java.io.IOException
className - Class name of a PropertyReader to read from.PropertyExceptionjava.io.IOExceptionpublic java.lang.Object setProperty(java.lang.String name,
java.lang.String value)
Returns Object instead of String due to limitations with
java.util.Properties.
setProperty in class java.util.Propertiesname - Property name.value - Property value.public java.lang.String getProperty(java.lang.String name)
getProperty in class java.util.Propertiespublic java.lang.String removeProperty(java.lang.String name)
name - Property name.protected java.lang.String makeIndexPropertyName(java.lang.String base,
int index)
base - Base property name.index - Property index.public java.lang.String[] getArrayProperty(java.lang.String base,
java.lang.String[] defaultValues)
Array properties are specified as:
Indexes begin with zero and must be contiguous. A break in
continuity signals the end of the array.base_property_name.INDEX.
base - Base property name.defaultValues - Default property values.public java.lang.String[] getArrayProperty(java.lang.String name)
name - Property name.public java.util.Iterator names()
public boolean containsProperty(java.lang.String name)
name - Property name.public PropertyGroup getPropertyGroup(java.lang.String basename)
basename - Base property name.public PropertyGroup getPropertyGroup(java.lang.String basename, int index)
basename - Base property name.index - Array property index.private void readObject(java.io.ObjectInputStream stream)
throws java.io.IOException,
java.lang.ClassNotFoundException
java.io.IOExceptionjava.lang.ClassNotFoundExceptionprivate void writeObject(java.io.ObjectOutputStream stream)
throws java.io.IOException
java.io.IOException