A couple of remarks inline, especially on the CM:
> -----Original Message-----
> From: Peter Donald [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, February 14, 2002 12:42 PM
>
> On Thu, 14 Feb 2002 20:51, Stephen McConnell wrote:
> >
<SNIP/>
> >
> > interface ServiceManager
> > {
> > Object lookup( String role );
> > Object lookup( String role, Map policy );
> > boolean hasService( String role );
> > boolean hasService( String role, Map policy );
> > void release( Object key );
> > }
>
> Im not sure release() is needed in a Servicemanager. Release was
> originally
> added to serve the need that is covered by the below interface.
> And as such is it really needed ?
Yeah, my understanding was that services do not need to be
released! Isn't a service always thread safe???
> >
<SNIP/>
> >
> > interface ComponentManager
> > {
> > Object lookup( Object token, String role );
> > Object lookup( Object token, String role, Map policy );
> > boolean hasComponent(Object role );
> > void release( Object component );
> > void releaseAll( Object token );
> > }
Shouldn't
boolean hasComponent( Object role );
actually be
boolean hasComponent( String role );
I am also missing a
boolean hasComponent( String role, Map policy );
In my CM I also have a
/** releases all requested components not yet released */
void releaseAll();
...although I only ever used it inside its own dispose() code!
So, what I am saying is that maybe it should be more like;
interface ComponentManager
{
Object lookup( Object token, String role );
Object lookup( Object token, String role, Map policy );
boolean hasComponent( String role );
boolean hasComponent( String role, Map policy );
void release( Object component );
void releaseAll( Object token );
/** releases all requested components not yet released */
void releaseAll();
}
Have fun,
Paulo Gaspar
http://www.krankikom.de
http://www.ruhronline.de
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>