Package helma.util
Class ResourceProperties
- All Implemented Interfaces:
Serializable
,Cloneable
,Map<Object,
Object>
A property dictionary that is updated from property resources
- See Also:
-
Field Summary
FieldsFields inherited from class java.util.Properties
defaults
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs an empty ResourceProperties Resources must be added manually afterwardsConstructs an empty ResourceProperties Resources must be added manually afterwardsResourceProperties
(Application app, String resourceName) Constructs a ResourceProperties retrieving resources from the given application using the given name to fetch resourcesResourceProperties
(Application app, String resourceName, ResourceProperties defaultProperties) Constructs a ResourceProperties retrieving resources from the given application using the given name to fetch resources and falling back to the given default propertiesResourceProperties
(Application app, String resourceName, ResourceProperties defaultProperties, boolean ignoreCase) Constructs a ResourceProperties retrieving resources from the given application using the given name to fetch resources and falling back to the given default properties -
Method Summary
Modifier and TypeMethodDescriptionvoid
addResource
(Resource resource) Adds a resource to the list of resources and updates all properties if neededvoid
clear()
Overwrite clear() to also empty the key map.boolean
Checks wether the given object is in the value listboolean
containsKey
(Object key) Checks wether the given object is in the key listelements()
Returns an enumeration of all valuesboolean
Compares this ResourceProperties instance to the one passed as argument.Returns a value in this list fetched by the given keylong
Returns a checksum for all resourcesgetProperty
(String key) Returns a value in this list fetched by the given keygetProperty
(String key, String defaultValue) Returns a value in the list fetched by the given key or a default value if no corresponding key is foundGet an iterator over the properties' resourcesgetSubProperties
(String prefix) Extract all entries where the key matches the given string prefix from the source map to the target map, cutting off the prefix from the original key.boolean
isEmpty()
Checks wether the properties list is emptyboolean
Checks wether case-sensitivity is ignored for keyskeys()
Returns an enumeration of all keyskeySet()
Returns a set of all keyslong
Returns the date the resources were last modifiedPuts a new key-value pair into the properties listRemoves a key-value pair from the properties listvoid
removeResource
(Resource resource) Removes a resource from the list of resources and updates all properties if neededvoid
setDefaultProperties
(ResourceProperties defaultProperties) Sets the default properties and updates all propertiesvoid
setIgnoreCase
(boolean ignore) Changes how keys are handledint
size()
Returns the number of peroperties in the listvoid
update()
Updates all properties if there is a need to updateMethods inherited from class java.util.Properties
clone, compute, computeIfAbsent, computeIfPresent, containsValue, entrySet, forEach, getOrDefault, hashCode, list, list, load, load, loadFromXML, merge, propertyNames, putAll, putIfAbsent, rehash, remove, replace, replace, replaceAll, save, setProperty, store, store, storeToXML, storeToXML, storeToXML, stringPropertyNames, toString, values
-
Field Details
-
defaultProperties
-
-
Constructor Details
-
ResourceProperties
public ResourceProperties()Constructs an empty ResourceProperties Resources must be added manually afterwards -
ResourceProperties
Constructs an empty ResourceProperties Resources must be added manually afterwards -
ResourceProperties
Constructs a ResourceProperties retrieving resources from the given application using the given name to fetch resources- Parameters:
app
- application to fetch resources fromresourceName
- name to use when fetching resources from the application
-
ResourceProperties
public ResourceProperties(Application app, String resourceName, ResourceProperties defaultProperties) Constructs a ResourceProperties retrieving resources from the given application using the given name to fetch resources and falling back to the given default properties- Parameters:
app
- application to fetch resources fromresourceName
- name to use when fetching resources from the applicationdefaultProperties
- default properties
-
ResourceProperties
public ResourceProperties(Application app, String resourceName, ResourceProperties defaultProperties, boolean ignoreCase) Constructs a ResourceProperties retrieving resources from the given application using the given name to fetch resources and falling back to the given default properties- Parameters:
app
- application to fetch resources fromresourceName
- name to use when fetching resources from the applicationdefaultProperties
- default propertiesignoreCase
- ignore case for property keys, setting all keys to lower case
-
-
Method Details
-
setDefaultProperties
Sets the default properties and updates all properties- Parameters:
defaultProperties
- default properties
-
addResource
Adds a resource to the list of resources and updates all properties if needed- Parameters:
resource
- resource to add
-
removeResource
Removes a resource from the list of resources and updates all properties if needed- Parameters:
resource
- resource to remove
-
getResources
Get an iterator over the properties' resources- Returns:
- iterator over the properties' resources
-
update
public void update()Updates all properties if there is a need to update -
getSubProperties
Extract all entries where the key matches the given string prefix from the source map to the target map, cutting off the prefix from the original key. The ignoreCase property is inherited and also considered when matching keys against the prefix.- Parameters:
prefix
- the string prefix to match against- Returns:
- a new subproperties instance
-
contains
Checks wether the given object is in the value list- Overrides:
contains
in classProperties
- Parameters:
value
- value to look for- Returns:
- true if the value is found in the value list
-
containsKey
Checks wether the given object is in the key list- Specified by:
containsKey
in interfaceMap<Object,
Object> - Overrides:
containsKey
in classProperties
- Parameters:
key
- key to look for- Returns:
- true if the key is found in the key list
-
elements
Returns an enumeration of all values- Overrides:
elements
in classProperties
- Returns:
- values enumeration
-
get
Returns a value in this list fetched by the given key -
lastModified
public long lastModified()Returns the date the resources were last modified- Returns:
- last modified date
-
getChecksum
public long getChecksum()Returns a checksum for all resources- Returns:
- checksum
-
getProperty
Returns a value in the list fetched by the given key or a default value if no corresponding key is found- Overrides:
getProperty
in classProperties
- Parameters:
key
- key to use for fetching the valuedefaultValue
- default value to return if key is not found- Returns:
- spiecific value or default value if not found
-
getProperty
Returns a value in this list fetched by the given key- Overrides:
getProperty
in classProperties
- Parameters:
key
- key to use for fetching the value- Returns:
- value belonging to the given key
-
isEmpty
public boolean isEmpty()Checks wether the properties list is empty -
isIgnoreCase
public boolean isIgnoreCase()Checks wether case-sensitivity is ignored for keys- Returns:
- true if case-sensitivity is ignored for keys
-
keys
Returns an enumeration of all keys- Overrides:
keys
in classProperties
- Returns:
- keys enumeration
-
keySet
Returns a set of all keys -
put
Puts a new key-value pair into the properties list -
remove
Removes a key-value pair from the properties list -
setIgnoreCase
public void setIgnoreCase(boolean ignore) Changes how keys are handled- Parameters:
ignore
- true if to ignore case-sensitivity for keys
-
size
public int size()Returns the number of peroperties in the list -
clear
public void clear()Overwrite clear() to also empty the key map. -
equals
Compares this ResourceProperties instance to the one passed as argument. Note that in contrast to Hashtable.equals this method isn't synchronized to avoid deadlocks (which can happen in eg. DbSource.equals), and the comparison might return a wrong result if one of the two instances is modified during this method call. This method however doesn't throw a ConcurrentModificationException.
-