-
public interface BeanContextServiceProvider
BeanContext的主要功能之一是充当JavaBeans和BeanContextServiceProviders之间的集合点。
嵌套在BeanContext中的JavaBean可以要求BeanContext基于对表示该服务的Java类对象的引用来提供“服务”的实例。
如果已经向上下文或其嵌套上下文之一注册了此类服务,则在上下文委托其上下文满足服务请求的情况下,则要求与该服务关联的BeanContextServiceProvider提供该服务的实例。
ServcieProvider可以始终返回相同的实例,也可以为每个请求构造一个新实例。
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 Iterator<?>
getCurrentServiceSelectors(BeanContextServices bcs, 类<?> serviceClass)
该方法由BeanContextServices
调用,获取指定服务的当前服务选择器。Object
getService(BeanContextServices bcs, Object requestor, 类<?> serviceClass, Object serviceSelector)
通过调用BeanContextServices
,该方法从这个请求服务的实例BeanContextServiceProvider
。void
releaseService(BeanContextServices bcs, Object requestor, Object service)
该方法由BeanContextServices
调用,释放嵌套的BeanContextChild
(或与BeanContextChild
相关联的任意对象)对指定服务的引用。
-
-
-
方法详细信息
-
getService
Object getService(BeanContextServices bcs, Object requestor, 类<?> 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, 类<?> serviceClass)
该方法由BeanContextServices
调用,获取指定服务的当前服务选择器。 服务选择器是特定于服务的参数,其典型示例可以包括:服务实现类的构造函数的参数,特定服务的属性的值,或现有实现的映射的键。- 参数
-
bcs
- 此请求的BeanContextServices
-
serviceClass
- 指定的服务 - 结果
- the current service selectors for the specified serviceClass
-
-