java.beans.beancontext
Interface BeanContextServiceProvider

All Known Implementing Classes:
BeanContextServicesSupport.BCSSProxyServiceProvider sample code for java.beans.beancontext.BeanContextServicesSupport.BCSSProxyServiceProvider definition code for java.beans.beancontext.BeanContextServicesSupport.BCSSProxyServiceProvider

public interface BeanContextServiceProvider

One of the primary functions of a BeanContext is to act a as rendezvous between JavaBeans, and BeanContextServiceProviders.

A JavaBean nested within a BeanContext, may ask that BeanContext to provide an instance of a "service", based upon a reference to a Java Class object that represents that service.

If such a service has been registered with the context, or one of its nesting context's, in the case where a context delegate to its context to satisfy a service request, then the BeanContextServiceProvider associated with the service is asked to provide an instance of that service.

The ServcieProvider may always return the same instance, or it may construct a new instance for each request.


Method Summary
 Iterator sample code for java.util.Iterator definition code for java.util.Iterator getCurrentServiceSelectors sample code for java.beans.beancontext.BeanContextServiceProvider.getCurrentServiceSelectors(java.beans.beancontext.BeanContextServices, java.lang.Class) definition code for java.beans.beancontext.BeanContextServiceProvider.getCurrentServiceSelectors(java.beans.beancontext.BeanContextServices, java.lang.Class) (BeanContextServices sample code for java.beans.beancontext.BeanContextServices definition code for java.beans.beancontext.BeanContextServices  bcs, Class sample code for java.lang.Class definition code for java.lang.Class  serviceClass)
          Invoked by BeanContextServices, this method gets the current service selectors for the specified service.
 Object sample code for java.lang.Object definition code for java.lang.Object getService sample code for java.beans.beancontext.BeanContextServiceProvider.getService(java.beans.beancontext.BeanContextServices, java.lang.Object, java.lang.Class, java.lang.Object) definition code for java.beans.beancontext.BeanContextServiceProvider.getService(java.beans.beancontext.BeanContextServices, java.lang.Object, java.lang.Class, java.lang.Object) (BeanContextServices sample code for java.beans.beancontext.BeanContextServices definition code for java.beans.beancontext.BeanContextServices  bcs, Object sample code for java.lang.Object definition code for java.lang.Object  requestor, Class sample code for java.lang.Class definition code for java.lang.Class  serviceClass, Object sample code for java.lang.Object definition code for java.lang.Object  serviceSelector)
          Invoked by BeanContextServices, this method requests an instance of a service from this BeanContextServiceProvider.
 void releaseService sample code for java.beans.beancontext.BeanContextServiceProvider.releaseService(java.beans.beancontext.BeanContextServices, java.lang.Object, java.lang.Object) definition code for java.beans.beancontext.BeanContextServiceProvider.releaseService(java.beans.beancontext.BeanContextServices, java.lang.Object, java.lang.Object) (BeanContextServices sample code for java.beans.beancontext.BeanContextServices definition code for java.beans.beancontext.BeanContextServices  bcs, Object sample code for java.lang.Object definition code for java.lang.Object  requestor, Object sample code for java.lang.Object definition code for java.lang.Object  service)
          Invoked by BeanContextServices, this method releases a nested BeanContextChild's (or any arbitrary object associated with a BeanContextChild) reference to the specified service.
 

Method Detail

getService sample code for java.beans.beancontext.BeanContextServiceProvider.getService(java.beans.beancontext.BeanContextServices, java.lang.Object, java.lang.Class, java.lang.Object) definition code for java.beans.beancontext.BeanContextServiceProvider.getService(java.beans.beancontext.BeanContextServices, java.lang.Object, java.lang.Class, java.lang.Object)

Object sample code for java.lang.Object definition code for java.lang.Object  getService(BeanContextServices sample code for java.beans.beancontext.BeanContextServices definition code for java.beans.beancontext.BeanContextServices  bcs,
                  Object sample code for java.lang.Object definition code for java.lang.Object  requestor,
                  Class sample code for java.lang.Class definition code for java.lang.Class  serviceClass,
                  Object sample code for java.lang.Object definition code for java.lang.Object  serviceSelector)
Invoked by BeanContextServices, this method requests an instance of a service from this BeanContextServiceProvider.

Parameters:
bcs - The BeanContextServices associated with this particular request. This parameter enables the BeanContextServiceProvider to distinguish service requests from multiple sources.
requestor - The object requesting the service
serviceClass - The service requested
serviceSelector - the service dependent parameter for a particular service, or null if not applicable.
Returns:
a reference to the requested service

releaseService sample code for java.beans.beancontext.BeanContextServiceProvider.releaseService(java.beans.beancontext.BeanContextServices, java.lang.Object, java.lang.Object) definition code for java.beans.beancontext.BeanContextServiceProvider.releaseService(java.beans.beancontext.BeanContextServices, java.lang.Object, java.lang.Object)

void releaseService(BeanContextServices sample code for java.beans.beancontext.BeanContextServices definition code for java.beans.beancontext.BeanContextServices  bcs,
                    Object sample code for java.lang.Object definition code for java.lang.Object  requestor,
                    Object sample code for java.lang.Object definition code for java.lang.Object  service)
Invoked by BeanContextServices, this method releases a nested BeanContextChild's (or any arbitrary object associated with a BeanContextChild) reference to the specified service.

Parameters:
bcs - the BeanContextServices associated with this particular release request
requestor - the object requesting the service to be released
service - the service that is to be released

getCurrentServiceSelectors sample code for java.beans.beancontext.BeanContextServiceProvider.getCurrentServiceSelectors(java.beans.beancontext.BeanContextServices, java.lang.Class) definition code for java.beans.beancontext.BeanContextServiceProvider.getCurrentServiceSelectors(java.beans.beancontext.BeanContextServices, java.lang.Class)

Iterator sample code for java.util.Iterator definition code for java.util.Iterator  getCurrentServiceSelectors(BeanContextServices sample code for java.beans.beancontext.BeanContextServices definition code for java.beans.beancontext.BeanContextServices  bcs,
                                    Class sample code for java.lang.Class definition code for java.lang.Class  serviceClass)
Invoked by BeanContextServices, this method gets the current service selectors for the specified service. A service selector is a service specific parameter, typical examples of which could include: a parameter to a constructor for the service implementation class, a value for a particular service's property, or a key into a map of existing implementations.

Parameters:
bcs - the BeanContextServices for this request
serviceClass - the specified service
Returns:
the current service selectors for the specified serviceClass