java.beans.beancontext

接口
所有已知实现类:
BeanContextServicesSupport.BCSSProxyServiceProvider

public interface BeanContextServiceProvider

BeanContext 的主要功能之一是充当 JavaBeans 与 BeanContextServiceProviders 之间的集合点。

嵌套在 BeanContext 中的 JavaBean 可能要求 BeanContext 提供 "service" 的一个实例,该 JavaBean 基于表示该服务的 Java Class 对象的引用。

在上下文委托自己的上下文来满足服务请求的情况下,如果已经向上下文或其某个嵌套上下文注册了一个此类服务,那么会请求与该服务相关联的 BeanContextServiceProvider 提供该服务的一个实例。

ServcieProvider 可能总是返回相同的实例,它也可能为每个请求构造一个新的实例。


方法摘要
 Iterator getCurrentServiceSelectors(BeanContextServices bcs, Class serviceClass)
          由 BeanContextServices 调用,此方法获得指定服务的当前服务选择器。
 Object getService(BeanContextServices bcs, Object requestor, Class serviceClass, Object serviceSelector)
          由 BeanContextServices 调用,此方法请求来自此 BeanContextServiceProvider 服务的一个实例。
 void releaseService(BeanContextServices bcs, Object requestor, Object service)
          由 BeanContextServices 调用,此方法释放一个对特定服务的嵌套 BeanContextChild(或与 BeanContextChild 关联的任意对象)的引用。
 

方法详细信息

getService

Object getService(BeanContextServices bcs,
                  Object requestor,
                  Class serviceClass,
                  Object serviceSelector)
BeanContextServices 调用,此方法请求来自此 BeanContextServiceProvider 服务的一个实例。

参数:
bcs - 与此特定请求相关联的 BeanContextServices。此参数允许 BeanContextServiceProvider 区别来自多个源的服务请求。
requestor - 请求服务的对象
serviceClass - 请求的服务
serviceSelector - 用于特定服务的与服务有关的参数,如果不适用,则为 null
返回:
所请求服务的一个引用

releaseService

void releaseService(BeanContextServices bcs,
                    Object requestor,
                    Object service)
BeanContextServices 调用,此方法释放一个对特定服务的嵌套 BeanContextChild(或与 BeanContextChild 关联的任意对象)的引用。

参数:
bcs - 与此特定释放请求相关联的 BeanContextServices
requestor - 请求释放服务的对象
service - 要释放的服务

getCurrentServiceSelectors

Iterator getCurrentServiceSelectors(BeanContextServices bcs,
                                    Class serviceClass)
BeanContextServices 调用,此方法获得指定服务的当前服务选择器。服务选择器是一种特定于服务的参数,它的典型示例可能包括:用于服务实现类的构造方法的参数、特定服务的属性值或已存在实现的映射中的键。

参数:
bcs - 此请求的 BeanContextServices
serviceClass - 指定的服务
返回:
指定 serviceClass 的当前服务选择器