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]>

Reply via email to