public interface BeanContextServiceProvider
BeanContext的主要功能之一就是作为JavaBeans和BeanContextServiceProviders之间的会合。
嵌套在BeanContext中的JavaBean可能会要求BeanContext基于对表示该服务的Java Class对象的引用来提供“服务”实例。
如果这样的服务已被注册到上下文或其嵌套上下文之一,则在上下文委托到其上下文以满足服务请求的情况下,则要求与服务相关联的BeanContextServiceProvider提供该服务的实例。
ServcieProvider可能总是返回相同的实例,或者可以为每个请求构造一个新的实例。
Modifier and Type | Method and Description |
---|---|
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 任意对象)对指定服务的引用。
|
Object getService(BeanContextServices bcs, Object requestor, 类 serviceClass, Object serviceSelector)
BeanContextServices
,该方法从这个请求服务的实例
BeanContextServiceProvider
。
bcs
- 与此特定请求BeanContextServices
联的BeanContextServices。
该参数使BeanContextServiceProvider
能够区分来自多个源的服务请求。
requestor
- 请求服务的对象
serviceClass
-
serviceClass
的服务
serviceSelector
-特定服务的服务相关的参数,或者
null
如果不适用。
void releaseService(BeanContextServices bcs, Object requestor, Object service)
BeanContextServices
调用,释放对指定服务的嵌套
BeanContextChild
(或任何与
BeanContextChild
任意对象)引用。
bcs
- 与此特定发布请求相关
BeanContextServices
BeanContextServices
requestor
- 请求释放服务的对象
service
- 要发布的服务
Iterator getCurrentServiceSelectors(BeanContextServices bcs, 类 serviceClass)
BeanContextServices
调用,获取指定服务的当前服务选择器。
服务选择器是一个特定于服务的参数,其典型示例可以包括:服务实现类的构造函数的参数,特定服务属性的值或现有实现的映射的键。
bcs
- 该请求的
BeanContextServices
serviceClass
- 指定的服务