Package de.janrufmonitor.framework.configuration

Handling of configuration data in the framework.

See:
          Description

Interface Summary
IConfigManager This interface must be implemented by a Configuration Manager object, which should be used in the framework.
IConfigManagerFactory This interface must be implemented by a Configuration Manager Factory object, which should be used in the framework.
IConfigurable This interface must be implemented by a object which has to be notified by setting or changing the configuration in the framework.
IConfigurableNotifier This interface must be implemented by a configurable notifier object.
 

Package de.janrufmonitor.framework.configuration Description

Handling of configuration data in the framework.

This package offers the posibility to handle configuration data for several components (e.g. services, repository manager or UI components). A component can implement the IConfigurable interface to get automatically informed, when chnages or settings are applied to an configuration property or a complete set of namespaces.
The configuration is handled by a IConfigManager object which is controlled itself by an IConfigManagerFactory. The configuration data is structured in certain way:

  1. the configuration object is called property
  2. a property consists of a namespace, a name, a metadata and a value
  3. the namespace allows to distinguish the same property name for different components
  4. the name specifies a unique idetnifier within a namespace of the property
  5. the metadata specifies at least one or more identifiers for a property
  6. the value contains the data of the property.
Find an Example of a property definition:
     Property for storing a filename:
         
define { namespace = {com.myapps.MyComponent} name = {filename} metadata = {value} value = /etc/var/pim.log namespace = {com.myapps.MyComponent} name = {filename} metadata = {type} value = Text namespace = {com.myapps.MyComponent} name = {filename} metadata = {system} value = linux }
The definition with an module / plugin file:
com.myapps.MyComponent\:filename\:value=/etc/var/pim.log
com.myapps.MyComponent\:filename\:type=Text
com.myapps.MyComponent\:filename\:system=linux



Copyright © 2010 by Thilo Brandt. All Rights Reserved.