Ralph Goers schrieb:
The problem is that in applications using commons config they would like to specify an interface in lots of places. HierarchicalConfiguration would be perfect for that. It should just extend the Configuration interface.

It was discussed that in configuration2 all configurations are hierarchical. In this case there would be the single Configuration interface, but it would offer the enhanced functionality which is now provided by HierarchicalConfiguration.


I'm also a little confused over CombinedConfiguration and ExpressionEngine since two versions of these classes are present. I am assuming that combined/CombinedConfiguration and expr/ExpressionEngine are the correct classes and the others should be removed?
Yes, that's correct. Currently DefaultExpressionBuilder still uses the old classes because not all Configuration implementations supported by this class have been converted to the new model.

Oliver


Ralph

Oliver Heger wrote:
Ralph Goers schrieb:
I've noticed that HierarchicalConfiguration isn't part of the inheritance for the various hierarchical implementations. This seems rather odd. What base class are applications migrating to configuration2 supposed to convert all their references to? In fact, I'm wondering if HierarchicalConfiguration shouldn't just be converted to an interface that AbstractHierarchicalConfiguration implements.

Well, first of all, this branch is really experimental and far from being stable.

For configuration2 the intension was to make all configurations hierarchical. Because of this there does not seem to be much point in calling a configuration class "HierarchicalConfiguration".

The HierarchicalConfiguration class exists there for legacy reasons only because some classes still rely on it. When refactoring is complete it can be removed. With AbstractHierarchicalConfiguration there is a new implementation based on the new NodeHandler approach. (Later this class will probably merge with AbstractConfiguration.) The new counterpart to HierarchicalConfiguration is called InMemoryConfiguration.

But, as you certainly see, there is still a lot of work to do, and also some fundamental decisions are pending. For instance, what should be the exact content of the Configuration interface? I am still on the opinion that it would be a good idea to have a low-level ConfigurationSource interface covering only the basics of property access and a high-level Configuration interface providing a rich API with many convenience methods.

Oliver

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to