On Wed, 19 Sep 2001 20:23:00 +1000 Peter Donald wrote:
> On Wed, 19 Sep 2001 18:28, Jeremias Maerki wrote:
> > Hi there
> >
> > After looking through the documentation and the mailing list archives I
> > still don't know why there are two interfaces Configurable and
> > Parameterizable. I've seen some mails from April when Parameterizable
> > was introduced, but that didn't help. Also, the API docs simply state
> > that the two interfaces are incompatible. I currently believe
> > Parameterizable isn't needed, because I can do all
> > configuration/parameterization I need using Configurable.
> >
> > Would someone be so kind as to explain to me the differences and relieve
> > me of my confusion? Many thanks in advance.
> 
> Well they really serve different purposes. Parameters supply "flat" 
> configuration data and can be considered to be like simplified  
> property files with extra type safe utility methods.
> 
> Configuration objects supply "hierarchial" configuration data and can be 
> considered as simplified XML style configurations with extra type-safe 
> utility methods.
> 
> In most cases, Configuration is acceptable but there is cases where 
> Parameters are a better choice to configure the system (usually when the 
> configuration data is naturally flat). For instance I quite often use 
> Parameters to represent config data passed in via Command Line arguments. 
> 
> I also use it to contain names of classes implementing an interface. So say 
> if I had pluggable components in my application that implemented interfaces 
> 
> com.biz.A, com.biz.B and com.biz.C
> 
> then it is useful to have Parameter object map them to implementation 
> instances. ie
> 
> com.biz.A=com.biz.AImpl
> com.biz.B=com.biz.BImpl
> com.biz.C=com.biz.CImpl
> 
> And if I want to change the implementing class I just change a swith on CLI 
> or in proeprties file and voila. In these cases XML-style config data is 
> often clumsy and heavy-weight.
> 
> Does that make any sense ? ;)

Yes, it does. Thanks for pointing this out.


Cheers,
Jeremias M�rki

mailto:[EMAIL PROTECTED]

OUTLINE AG
Postfach 3954 - Rhynauerstr. 15 - CH-6002 Luzern
Fon +41 (41) 317 2020 - Fax +41 (41) 317 2029
Internet http://www.outline.ch


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

Reply via email to