Package helma.util

Class ResourceProperties

All Implemented Interfaces:
Serializable, Cloneable, Map<Object,Object>

public class ResourceProperties extends Properties
A property dictionary that is updated from property resources
See Also:
  • Field Details

  • Constructor Details

    • ResourceProperties

      public ResourceProperties()
      Constructs an empty ResourceProperties Resources must be added manually afterwards
    • ResourceProperties

      public ResourceProperties(Application app)
      Constructs an empty ResourceProperties Resources must be added manually afterwards
    • ResourceProperties

      public ResourceProperties(Application app, String resourceName)
      Constructs a ResourceProperties retrieving resources from the given application using the given name to fetch resources
      Parameters:
      app - application to fetch resources from
      resourceName - 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 from
      resourceName - name to use when fetching resources from the application
      defaultProperties - 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 from
      resourceName - name to use when fetching resources from the application
      defaultProperties - default properties
      ignoreCase - ignore case for property keys, setting all keys to lower case
  • Method Details

    • setDefaultProperties

      public void setDefaultProperties(ResourceProperties defaultProperties)
      Sets the default properties and updates all properties
      Parameters:
      defaultProperties - default properties
    • addResource

      public void addResource(Resource resource)
      Adds a resource to the list of resources and updates all properties if needed
      Parameters:
      resource - resource to add
    • removeResource

      public void removeResource(Resource resource)
      Removes a resource from the list of resources and updates all properties if needed
      Parameters:
      resource - resource to remove
    • getResources

      public Iterator 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

      public ResourceProperties getSubProperties(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. 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

      public boolean contains(Object value)
      Checks wether the given object is in the value list
      Overrides:
      contains in class Properties
      Parameters:
      value - value to look for
      Returns:
      true if the value is found in the value list
    • containsKey

      public boolean containsKey(Object key)
      Checks wether the given object is in the key list
      Specified by:
      containsKey in interface Map<Object,Object>
      Overrides:
      containsKey in class Properties
      Parameters:
      key - key to look for
      Returns:
      true if the key is found in the key list
    • elements

      public Enumeration elements()
      Returns an enumeration of all values
      Overrides:
      elements in class Properties
      Returns:
      values enumeration
    • get

      public Object get(Object key)
      Returns a value in this list fetched by the given key
      Specified by:
      get in interface Map<Object,Object>
      Overrides:
      get in class Properties
      Parameters:
      key - key to use for fetching the value
      Returns:
      value belonging to 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

      public String getProperty(String key, String defaultValue)
      Returns a value in the list fetched by the given key or a default value if no corresponding key is found
      Overrides:
      getProperty in class Properties
      Parameters:
      key - key to use for fetching the value
      defaultValue - default value to return if key is not found
      Returns:
      spiecific value or default value if not found
    • getProperty

      public String getProperty(String key)
      Returns a value in this list fetched by the given key
      Overrides:
      getProperty in class Properties
      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
      Specified by:
      isEmpty in interface Map<Object,Object>
      Overrides:
      isEmpty in class Properties
      Returns:
      true if 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

      public Enumeration keys()
      Returns an enumeration of all keys
      Overrides:
      keys in class Properties
      Returns:
      keys enumeration
    • keySet

      public Set keySet()
      Returns a set of all keys
      Specified by:
      keySet in interface Map<Object,Object>
      Overrides:
      keySet in class Properties
      Returns:
      keys set
    • put

      public Object put(Object key, Object value)
      Puts a new key-value pair into the properties list
      Specified by:
      put in interface Map<Object,Object>
      Overrides:
      put in class Properties
      Parameters:
      key - key
      value - value
      Returns:
      the old value, if an old value got replaced
    • remove

      public Object remove(Object key)
      Removes a key-value pair from the properties list
      Specified by:
      remove in interface Map<Object,Object>
      Overrides:
      remove in class Properties
      Parameters:
      key - key
      Returns:
      the old value
    • 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
      Specified by:
      size in interface Map<Object,Object>
      Overrides:
      size in class Properties
      Returns:
      number of properties
    • clear

      public void clear()
      Overwrite clear() to also empty the key map.
      Specified by:
      clear in interface Map<Object,Object>
      Overrides:
      clear in class Properties
    • equals

      public boolean equals(Object o)
      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.
      Specified by:
      equals in interface Map<Object,Object>
      Overrides:
      equals in class Properties
      Parameters:
      o - object to be compared for equality with this instance
      Returns:
      true if the specified Object is equal to this instance
      See Also: