-
public interface BeanContextServiceProvider
BeanContext的主要功能之一就是作为JavaBeans和BeanContextServiceProviders之间的会合。
嵌套在BeanContext中的JavaBean可能会要求BeanContext基于对表示该服务的Java Class对象的引用来提供“服务”实例。
如果这样的服务已被注册到上下文或其嵌套上下文之一,则在上下文委托到其上下文以满足服务请求的情况下,则要求与服务相关联的BeanContextServiceProvider提供该服务的实例。
ServcieProvider可能总是返回相同的实例,或者可以为每个请求构造一个新的实例。
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 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
- 指定的服务 - 结果
- the current service selectors for the specified serviceClass
-
-