Class FWImagePropertyProvider

java.lang.Object
net.simplace.core.property.FWImagePropertyProvider

public final class FWImagePropertyProvider extends Object
Provider for properties. It centralizes access to properties throughout the whole application. In addition to making direct access to property files obsolete it also caches whole sets of properties (i.e. property files) by keeping them in memory. A property set is loaded into memory when any of the properties contained in it is being accessed for the first time.
Author:
Andreas Enders
  • Method Details

    • getInstance

      public static FWImagePropertyProvider getInstance()
      Returns:
      Singleton instance of PropertyProvider.
    • flushPropertySet

      public boolean flushPropertySet(String aPropertySet)
      Flush a property set, i.e. delete it from memory and also reset the entries in the cache file. This allows runtime modifications of property files using external tools, because it forces the resource manager to re-read the properties from the original file. Returns if flushing is successful and if flushing fails.
      Parameters:
      aPropertySet -
      Returns:
      success
    • flushProperty

      public boolean flushProperty(String aPropertySet, String aKey)
      Flush a property set, i.e. delete it from memory and also reset the entries in the cache file. This allows runtime modifications of property files using external tools, because it forces the resource manager to re-read the properties from the original file. Returns if flushing is successful and if flushing fails.
      Parameters:
      aPropertySet -
      aKey -
      Returns:
      success
    • getProperty

      public String getProperty(String aPropertySet, String aKey, String aDefault)
      Get the value of a property in a specific set. If the set doesn't contain a value for the given property return the specified default value.
      Parameters:
      aPropertySet -
      aKey -
      aDefault -
      Returns:
      the property string
    • getProperty

      public String getProperty(String aPropertySet, String aKey)
      Get the value of a property in a specific set. If the set doesn't contain a value for the given property or if the set doesn't exist anyway return .
      Parameters:
      aPropertySet -
      aKey -
      Returns:
      the properties value string
    • getOriginalProperty

      public String getOriginalProperty(String aPropertySet, String aKey, String aDefault)
      Get the value of a property in a specific set. If the set doesn't contain a value for the given property return the specified default value.
      Parameters:
      aPropertySet -
      aKey -
      aDefault -
      Returns:
      the property from specific set.
    • getOriginalPropertySet

      public Properties getOriginalPropertySet(String aPropertySetName)
      Get a specific property set, by replacing the System variables in the values. Mostly used in the clients to cache the whole property set.
      Parameters:
      aPropertySetName -
      Returns:
      a specific property set
    • getSystemEnvironmentVariable

      public String getSystemEnvironmentVariable(String aKey)
      Get the value of for the given property or if the set doesn't exist anyway return . On Server side all Env-Vars are returned, on client side only non eTenderSuite-Env-Vars are Accessible
      Parameters:
      aKey -
      Returns:
      the system environment variable
    • getSystemRegistryVariable

      public static String getSystemRegistryVariable(String aKey)
      Gets the value for a given registry key. A registry key is composed of a registry root key and path. If the registry key is not present or can not be found (non-Windows systems) null is returned. Windows registry values are stored by root key and path. The parameter registryKey contains the following format: ROOT_KEY\PATH\VALUE for a specific value or ROOT_KEY\PATH\ to return the default value. Example registryKey values: HKEY_CURRENT_USER\Environment\JAVA_HOME HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Search\SearchAssistant HKEY_CLASSES_ROOT\Shell\shell\open\command\ Supported root key values are: HKEY_CLASSES_ROOT HKEY_CURRENT_CONFIG HKEY_CURRENT_USER HKEY_DYN_DATA HKEY_LOCAL_MACHINE HKEY_PERFORMANCE_DATA HKEY_USERS Calling getSystemRegistryVariable("HKEY_CLASSES_ROOT\Shell\shell\open\command\") would return %SystemRoot%\Explorer.exe /idlist,%I,%L on a typical Windows installation.
      Parameters:
      aKey -
      Returns:
      String regisryValue
    • getJavaRuntimeVariable

      public static String getJavaRuntimeVariable(String aKey)
      Get the value of for the given property or if the set doesn't exist anyway return .
      Parameters:
      aKey -
      Returns:
      java runtime environment variables value
    • setSystemEnvironmentVariable

      public static boolean setSystemEnvironmentVariable(String aKey, String aValue)
      Sets the value of for the given property or if the set doesn't exist anyway return .
      Parameters:
      aKey -
      aValue -
      Returns:
      success
    • setProperty

      public boolean setProperty(String aPropertySet, String aKey, String aValue)
      Set the value for a specified key within a specified property set and make those settings persistent, so the next time the application is started the set value is still available. This is essential for adding user settings capabilities to applications. The key given as a parameter to this method must exist in the (original) property set. No new keys can be added. If the key does not exist the method will return like in any other case of an error.
      Parameters:
      aPropertySet -
      aKey -
      aValue -
      Returns:
      success
    • setProperty

      public boolean setProperty(String aPropertySet, String aKey, String aValue, boolean aNewValue)
      Set the value for a specified key within a specified property set and make those settings persistent, so the next time the application is started the set value is still available. This is essential for adding user settings capabilities to applications. The key given as a parameter to this method must exist in the (original) property set. No new keys can be added. If the key does not exist the method will return like in any other case of an error.
      Parameters:
      aPropertySet -
      aKey -
      aValue -
      aNewValue -
      Returns:
      success
    • setPropertyToOriginalFile

      public boolean setPropertyToOriginalFile(String aPropertySet, String aKey, String aValue)
      Set the value for a specified key within a specified property set original location and make those settings persistent.No restarting of application is required. This is essential for adding user settings capabilities to applications. The key given as a parameter to this method must exist in the (original) property set. No new keys can be added. If the key does not exist the method will return like in any other case of an error. Should not be used in webStart because the original file is in a jar-file.
      Parameters:
      aPropertySet -
      aKey -
      aValue -
      Returns:
      success
    • getProperties

      public Properties getProperties(String aPropertySet)
      Can cause data corruption in property resource manager, so better use getPropertyNames(...) to get an enumeration of property names and then iterate over this enumeration and invoke getProperty(...) for each name.
      Parameters:
      aPropertySet -
      Returns:
      the complete Properties object.
    • getPropertyNames

      public Enumeration<String> getPropertyNames(String aPropertySet)
      Parameters:
      aPropertySet -
      Returns:
      an Enumeration of the property names contained in the specified property set. Return if the property set can't be found.
    • getOriginalPropertyNames

      public Enumeration<String> getOriginalPropertyNames(String aPropertySet)
      Parameters:
      aPropertySet -
      Returns:
      an Enumeration of the property names contained in the specified property set from the original location. Return if the property set can't be found.
    • getPropertySetURL

      public URL getPropertySetURL(String aPropertySet)
      Parameters:
      aPropertySet -
      Returns:
      the URL the specified property set has been loaded from. Return if the property set can't be found.
    • getEnvVars

      public Properties getEnvVars()
      Returns:
      the environment-variables.
    • replaceSystemVariables

      public String replaceSystemVariables(String aPropertyValue)
      Parameters:
      aPropertyValue -
      Returns:
      the value of a property in a specific set. If the set doesn't contain a value for the given property or if the set doesn't exist anyway return .
    • getPropertiesAsString

      public String getPropertiesAsString(String aPropertyset)
      Method getPropertiesAsString.
      Parameters:
      aPropertyset -
      Returns:
      String