模块  java.desktop

Interface BeanContextServices

    • 方法详细信息

      • addService

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

        void revokeService​(<?> serviceClass,                   BeanContextServiceProvider serviceProvider,                   boolean revokeCurrentServicesNow)
        希望从此上下文中删除当前已注册服务的BeanContextServiceProviders可以通过调用此方法来执行此操作。 在撤销该服务后, BeanContextServicesBeanContextServiceRevokedEvent发送到其当前注册的BeanContextServiceRevokedListenersBeanContextServicesListeners列表中。
        参数
        serviceClass - 从此BeanContextServices撤消的服务
        serviceProvider - 与正在撤消的此特定服务关联的BeanContextServiceProvider
        revokeCurrentServicesNow - 值 true表示特殊情况,其中 BeanContextServiceProviderBeanContextServices希望立即终止对指定服务的所有当前未完成引用的服务。
      • hasService

        boolean hasService​(<?> serviceClass)
        报告此上下文中当前是否提供给定服务。
        参数
        serviceClass - 相关服务
        结果
        如果服务可用,则为true
      • getService

        Object getService​(BeanContextChild child,                  Object requestor,                  <?> 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关联的任意对象)对指定服务的 BeanContextServiceProvider
        参数
        child - BeanContextChild
        requestor - 请求者
        service - 服务
      • getCurrentServiceClasses

        Iterator<?> getCurrentServiceClasses()
        获取此上下文的当前可用服务。
        结果
        Iterator由当前可用的服务组成
      • getCurrentServiceSelectors

        Iterator<?> getCurrentServiceSelectors​(<?> serviceClass)
        通过在底层BeanContextServiceProvider上调用getCurrentServiceSelectors(),获取指定服务的服务相关服务参数(服务选择器)列表。
        参数
        serviceClass - 指定的服务
        结果
        命名serviceClass的当前可用服务选择器
      • addBeanContextServicesListener

        void addBeanContextServicesListener​(BeanContextServicesListener bcsl)
        BeanContextServicesListener添加到此BeanContext
        参数
        bcsl - 要添加的 BeanContextServicesListener
      • removeBeanContextServicesListener

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