Module  java.desktop

Interface BeanContextServices

    • 方法详细信息

      • addService

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

        void revokeService​(Class<?> serviceClass,
                           BeanContextServiceProvider serviceProvider,
                           boolean revokeCurrentServicesNow)
        希望从此上下文中删除当前注册的服务的BeanContextServiceProviders可以通过调用此方法来实现。 在服务的撤销,该BeanContextServices触发一个BeanContextServiceRevokedEvent其目前注册文件列表BeanContextServiceRevokedListenersBeanContextServicesListeners
        参数
        serviceClass - 从这个BeanContextServices撤销的服务
        serviceProvider - 与正在撤销的特定服务相关联的BeanContextServiceProvider
        revokeCurrentServicesNow -值 true表示特殊情况,其中 BeanContextServiceProvider或者 BeanContextServices希望立即终止服务,指定服务当前所有未完成的引用。
      • hasService

        boolean hasService​(Class<?> serviceClass)
        报告当前是否可以从此上下文获得给定的服务。
        参数
        serviceClass - 有问题的服务
        结果
        如果服务可用,则为true
      • getService

        Object getService​(BeanContextChild child,
                          Object requestor,
                          Class<?> serviceClass,
                          Object serviceSelector,
                          BeanContextServiceRevokedListener bcsrl)
                   throws TooManyListenersException
        A 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​(Class<?> serviceClass)
        通过调用底层BeanContextServiceProvider上的getCurrentServiceSelectors(),获取指定服务的服务相关服务参数(服务选择器)列表。
        参数
        serviceClass - 指定的服务
        结果
        名为serviceClass的当前可用的服务选择器
      • addBeanContextServicesListener

        void addBeanContextServicesListener​(BeanContextServicesListener bcsl)
        在此BeanContext中添加一个 BeanContextServicesListener
        参数
        bcsl - 要添加的 BeanContextServicesListener
      • removeBeanContextServicesListener

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