> > I am not proposing that these be part of Blocks lifecycle just 
> that they be
> > in CVS so that other components (like Embeddors) can make use 
> of it rather
> > than using some custom method. Thoughts/Votes???

Actually, I think they do need to be a part of the lifecycle, in the
sense that the point _where_ parametize() (there's a spelling glitch
in the proposal, btw), gets called should be well-defined (i.e.
between configure() and init()). Of course, it should be a completely
optional part of the lifecycle.

> The Parameters class, to me, is very much the same as the Java Properties
> class.  In fact, the biggest difference is that it can be automatically
> created from a Configuration object.

Parameters has less weight since it isn't a hashmap. It also cannot be
used in a wrong way as easily as a properties class, for the same reason.
Lastly, defining it ourselves means we can make use of CascadingException
(which I've really grown attached to =).

Based on those three reasons, I think Parameters has merit on its own.

One thing that probably needs changing is that Parameters should be an
interface and DefaultParameters the implementation of that interface,
just like it is the case with Configuration and Context.
Also, it doesn't have methods where you do not have to provide default
values (useful if you're sure they are there because you control all
code).
Thirdly, if we go the interface with implementation route, we probably
still need to provide a ParameterFactory with a fromConfiguration method,
and remove the fromConfiguration from the interface. Seems cleaner
and lighter to me.
Finally, the convenience methods getParameterAsXXX are perhaps a bit
overkill (I'm trying to take into account that Avalon should be able to
run in my cellphone =).

> So the question is, should we standardize on Properties and have a custom
> object that populates a Properties object from a Configuration 
> file for us?

-1

> Or should we keep the Parameters class, and use the 
> Parameterizable interface?

+1, for reasons above, though with some modifications as outlined.

regards,

LSD

<java:sig>
        About LSD  = new PersonalInfo();
        LSD.name("Leo Simons");
        LSD.email("[EMAIL PROTECTED]");
        LSD.URL( [
                http://www.leosimons.com, // personal website
                http://www.atfantasy.com, // fantasy RPG portal
                http://www.the-sign.nl    // web-design company
        ] );
        LSD.quote("Buh!");
        email.setSig((String)LSD);
</java:sig> 

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

Reply via email to