avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sylvain Wallez <sylvain.wal...@anyware-tech.com>
Subject Re: compose() method and developing with avalon pdf
Date Thu, 15 Nov 2001 11:03:17 GMT


Berin Loritsch a écrit :
> 
> Sylvain Wallez wrote:
> 
> >
> > Berin Loritsch a écrit :
> >
> >>Vincent Massol wrote:
> >
> > Agree with enforcing contracts, but IMHO it would be a safer construct
> > to throw an IllegalStateException if the manager is already set instead
> > of silently ignoring it.
> 
> You have a point.
> 
> > For this purpose, I have an ImmutablePropertyException (see attached
> > file) that automates this check in one line. You just have to write :
> >
> > public void Compose(ComponentManager manager)
> > {
> >   ImmutableProperyException.check(this.manager, manager, "Manager
> > already set");
> >   this.manager = manager;
> > }
> >
> > I'd be happy if this utility class could make its way into Avalon (but
> > where : framework, excalibur ?)
> 
> Two questions:
> 
> Which exception does it throw?  guess: IllegalStateException()

It throws a ImmutablePropertyException which extends
IllegalStateException.
> 
> Can we change the name?

Sure. It's a little bit verbose :)

> We already have an ExceptionUtil in org.apache.avalon.framework.ExceptionUtil.
> I would prefer adding a couple signatures:
> 
> /** two member version will set the first variable if not set, or throw exception */
> ExceptionUtil.check(this.manager, manager, "Manager already set");
> 
> /** one member version used for state checking */
> ExceptionUtil.check(this.isInitialized, "Component not initialized");

That's nice : it avoids an additional class and the associated import,
but "check" may be to imprecise in the context of "ExceptionUtil". So
what about something like "checkImmutable()" for the first one ? The
second is a simple assertion, so what about an "assertTrue()" (until the
whole world uses JDK 1.4) ?

Sylvain

-- 
Sylvain Wallez
Anyware Technologies - http://www.anyware-tech.com

--
To unsubscribe, e-mail:   <mailto:avalon-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:avalon-dev-help@jakarta.apache.org>


Mime
View raw message