Module java.desktop

Interface BeanContextServiceProvider

所有已知的实现类:
BeanContextServicesSupport.BCSSProxyServiceProvider

public interface BeanContextServiceProvider

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

嵌套在BeanContext中的JavaBean可能会请求BeanContext根据表示该服务的Java Class对象的引用提供一个"服务"实例。

如果这样的服务已在上下文中注册,或者在上下文委托其上下文以满足服务请求的情况下,那么与服务关联的BeanContextServiceProvider将被要求提供该服务的实例。

ServiceProvider可能始终返回相同的实例,也可能为每个请求构造一个新实例。

  • Method Details

    • 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的当前服务选择器