java.beans.beancontext

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

public interface BeanContextServices
     
extends BeanContext, BeanContextServicesListener

BeanContextServices 接口为 BeanContext 提供某种机制,将一般的 "services" 向其中的 BeanContextChild 对象公开。


字段摘要
 
从接口 java.beans.beancontext.BeanContext 继承的字段
globalHierarchyLock
 
从接口 java.beans.DesignMode 继承的字段
PROPERTYNAME
 
方法摘要
 void addBeanContextServicesListener(BeanContextServicesListener bcsl)
          将一个 BeanContextServicesListener 添加到此 BeanContext
 boolean addService(Class serviceClass, BeanContextServiceProvider serviceProvider)
          向此 BeanContext 添加服务。
 Iterator getCurrentServiceClasses()
          获得此上下文的当前可用服务。
 Iterator getCurrentServiceSelectors(Class serviceClass)
          通过在基础 BeanContextServiceProvider 上调用 getCurrentServiceSelectors() 获得指定服务的与服务有关的服务参数列表(服务选择器)。
 Object getService(BeanContextChild child, Object requestor, Class serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl)
          BeanContextChild(或任意与 BeanContextChild 关联的对象)可以通过调用此方法从其嵌套 BeanContextServices 中获得对当前已注册服务的引用。
 boolean hasService(Class serviceClass)
          报告是否可以从此上下文中得到给定服务。
 void releaseService(BeanContextChild child, Object requestor, Object service)
          通过在基础 BeanContextServiceProvider 上调用 releaseService() 释放 BeanContextChild(或与 BeanContextChild 关联的任意对象)对指定服务的引用。
 void removeBeanContextServicesListener(BeanContextServicesListener bcsl)
          从此 BeanContext 中移除一个 BeanContextServicesListener
 void revokeService(Class serviceClass, BeanContextServiceProvider serviceProvider, boolean revokeCurrentServicesNow)
          希望从此上下文中移除当前已注册服务的 BeanContextServiceProvider 可以通过调用此方法实现移除。
 
从接口 java.beans.beancontext.BeanContext 继承的方法
addBeanContextMembershipListener, getResource, getResourceAsStream, instantiateChild, removeBeanContextMembershipListener
 
从接口 java.beans.beancontext.BeanContextChild 继承的方法
addPropertyChangeListener, addVetoableChangeListener, getBeanContext, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext
 
从接口 java.util.Collection 继承的方法
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray
 
从接口 java.beans.DesignMode 继承的方法
isDesignTime, setDesignTime
 
从接口 java.beans.Visibility 继承的方法
avoidingGui, dontUseGui, needsGui, okToUseGui
 
从接口 java.beans.beancontext.BeanContextServicesListener 继承的方法
serviceAvailable
 
从接口 java.beans.beancontext.BeanContextServiceRevokedListener 继承的方法
serviceRevoked
 

方法详细信息

addService

boolean addService(Class serviceClass,
                   BeanContextServiceProvider serviceProvider)
向此 BeanContext 添加服务。 BeanContextServiceProvider 调用此方法来向此上下文注册一个特定服务。如果该服务不是以前已添加的服务,则 BeanContextServices 会将该服务与 BeanContextServiceProvider 相关联,并对所有当前已注册的 BeanContextServicesListeners 激发一个 BeanContextServiceAvailableEvent。然后该方法返回 true,指示成功添加了服务。如果已添加给定服务,则此方法仅返回 false

参数:
serviceClass - 要添加的服务
serviceProvider - 与该服务相关联的 BeanContextServiceProvider

revokeService

void revokeService(Class serviceClass,
                   BeanContextServiceProvider serviceProvider,
                   boolean revokeCurrentServicesNow)
希望从此上下文中移除当前已注册服务的 BeanContextServiceProvider 可以通过调用此方法实现移除。在撤消该服务时, BeanContextServices 对当前已注册的 BeanContextServiceRevokedListenersBeanContextServicesListeners 的列表触发一个 BeanContextServiceRevokedEvent

参数:
serviceClass - 要从此 BeanContextServices 中取消的服务
serviceProvider - 与将取消的特定服务有关联的 BeanContextServiceProvider
revokeCurrentServicesNow - 值为 true 指示一个异常环境,在该环境中, BeanContextServiceProviderBeanContextServices 希望立即终止为指定服务的所有当前突出引用提供服务。

hasService

boolean hasService(Class serviceClass)
报告是否可以从此上下文中得到给定服务。

参数:
serviceClass - 相关服务
返回:
如果可得到服务,则返回 true

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
返回:
所请求的此上下文的指定 Service 的引用,或 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 - 指定服务
返回:
指定 serviceClass 的当前可用的服务选择器

addBeanContextServicesListener

void addBeanContextServicesListener(BeanContextServicesListener bcsl)
将一个 BeanContextServicesListener 添加到此 BeanContext

参数:
bcsl - 要添加的 BeanContextServicesListener

removeBeanContextServicesListener

void removeBeanContextServicesListener(BeanContextServicesListener bcsl)
从此 BeanContext 中移除一个 BeanContextServicesListener

参数:
bcsl - 要从此上下文移除的 BeanContextServicesListener