模块 java.desktop

接口 BeanContextServices

所有父级接口:
BeanContext , BeanContextChild , BeanContextServiceRevokedListener , BeanContextServicesListener , Collection , DesignMode , EventListener , Iterable , Visibility
所有已知的实现类:
BeanContextServicesSupport

public interface BeanContextServices extends BeanContext , BeanContextServicesListener

BeanContextServices 接口为 BeanContext 提供了一种机制,以向其中的 BeanContextChild 对象公开通用“服务”。

  • 方法详情

    • addService

      boolean addService(Class <?> serviceClass, BeanContextServiceProvider  serviceProvider)
      向此 BeanContext 添加服务。 BeanContextServiceProvider s 调用此方法以使用此上下文注册特定服务。如果之前未添加该服务,BeanContextServices 将该服务与 BeanContextServiceProvider 相关联,并向所有当前注册的 BeanContextServicesListeners 触发 BeanContextServiceAvailableEvent。然后该方法返回 true ,表示添加服务成功。如果给定的服务已经被添加,这个方法只返回 false
      参数:
      serviceClass - 要添加的服务
      serviceProvider - 与服务关联的 BeanContextServiceProvider
      返回:
      如果服务添加成功则为 true,否则为 false
    • revokeService

      void revokeService(Class <?> serviceClass, BeanContextServiceProvider  serviceProvider, boolean revokeCurrentServicesNow)
      BeanContextServiceProviders 希望从此上下文中删除当前注册的服务可以通过调用此方法来实现。撤销服务后,BeanContextServices 会向其当前注册的 BeanContextServiceRevokedListenersBeanContextServicesListeners 列表发送一个 BeanContextServiceRevokedEvent
      参数:
      serviceClass - 从此 BeanContextServices 撤销的服务
      serviceProvider - 与被撤销的特定服务关联的 BeanContextServiceProvider
      revokeCurrentServicesNow - 值 true 表示异常情况,其中 BeanContextServiceProviderBeanContextServices 希望立即终止对指定服务的所有当前未完成引用的服务。
    • hasService

      boolean hasService(Class <?> serviceClass)
      报告此上下文中当前是否提供给定服务。
      参数:
      serviceClass - 有问题的服务
      返回:
      如果服务可用则为真
    • getService

      Object  getService(BeanContextChild  child, Object  requestor, Class <?> serviceClass, Object  serviceSelector, BeanContextServiceRevokedListener  bcsrl) throws TooManyListenersException
      BeanContextChild 或与 BeanContextChild 关联的任意对象可以通过调用此方法从其嵌套 BeanContextServices 获取对当前注册服务的引用。调用时,此方法通过调用底层 BeanContextServiceProvider 上的 getService() 方法来获取服务。
      参数:
      child - 与此请求关联的 BeanContextChild
      requestor - 请求服务的对象
      serviceClass - 请求服务的类
      serviceSelector - 服务相关参数
      bcsrl - BeanContextServiceRevokedListener 通知服务是否应该在以后被撤销
      返回:
      根据请求引用此上下文的命名服务或 null
      抛出:
      TooManyListenersException - 如果听众太多
    • releaseService

      void releaseService(BeanContextChild  child, Object  requestor, Object  service)
      通过在底层 BeanContextServiceProvider 上调用 releaseService() 来释放 BeanContextChild 的(或任何与 BeanContextChild 关联的任意对象)对指定服务的引用。
      参数:
      child - BeanContextChild
      requestor - 请求者
      service - 服务
    • getCurrentServiceClasses

      Iterator <?> getCurrentServiceClasses()
      获取此上下文的当前可用服务。
      返回:
      一个 Iterator 由当前可用的服务组成
    • getCurrentServiceSelectors

      Iterator <?> getCurrentServiceSelectors(Class <?> serviceClass)
      通过调用底层 BeanContextServiceProvider 上的 getCurrentServiceSelectors() 获取指定服务的服务相关服务参数(服务选择器)列表。
      参数:
      serviceClass - 指定的服务
      返回:
      指定服务类的当前可用服务选择器
    • addBeanContextServicesListener

      void addBeanContextServicesListener(BeanContextServicesListener  bcsl)
      添加一个 BeanContextServicesListener 到这个 BeanContext
      参数:
      bcsl - 要添加的 BeanContextServicesListener
    • removeBeanContextServicesListener

      void removeBeanContextServicesListener(BeanContextServicesListener  bcsl)
      从这个 BeanContext 中删除一个 BeanContextServicesListener
      参数:
      bcsl - 要从此上下文中删除的 BeanContextServicesListener