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