commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jörg Schaible <>
Subject Re: [configuration] Alternative to CompositeConfiguration
Date Thu, 27 Apr 2006 18:05:16 GMT
Hi Oliver,

Oliver Heger wrote:

> Hi,
> the last weeks I was working on a hierarchical alternative to
> CompositeConfiguration: the CombinedConfiguration class. The idea is
> that this class uses so-called NodeCombiner objects for constructing a
> combined node structure from the properties of the contained
> configurations. There are special NodeCombiner implementations for
> creating override and union combined configurations.
> A CombinedConfiguration is registered as event listener at the contained
> configurations. Whenever one of these configurations is modified, the
> combined node structure is invalidated. The next time properties of the
> combined configuration are accessed, the structure is re-constructed.
> The DefaultConfigurationBuilder class was updated to return an instance
> of CombinedConfiguration. So it is possible to access all properties of
> the configurations listed in the configuration definition file in a true
> hierarchical manner (e.g. making use of the XPATH expression engine).
> The configuration definition file format could be somewhat enhanced for
> leveraging the new functionality, and I would like to hear your feedback
> about these enhancements:
> - All configuration definitions can now have an optional attribute
> called "config-name" that assigns a logic name to this configuration. It
> is then possible to access this configuration from the resulting
> CombinedConfiguration by name.
> - Attributes that contain meta information for the creation of
> configuration objects (rather than defining properties to be set on the
> newly created objects) now all start with the prefix "config-". This
> includes the attributes "config-at", and "config-optional". (For
> compatibility reasons the old attributes "at" and "optional" are still
> supported if no corresponding prefixed attributes exist.)
> - Configuration declarations in the "override" section now support the
> (config-) at-attribute, too.
> - I would like to introduce a new (optional) "header" section that
> contains information and property definitions related to the resulting
> CombinedConfiguration. This section would allow for instance to set
> flags like throwExceptionOnMissing or the list handling flag, choosing
> an expression engine and such things.

Sounds all reasonable ;-)

- Jörg

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message