public interface BeanContextServices
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 |
| 方法详细信息 |
|---|
boolean addService(Class serviceClass, BeanContextServiceProvider serviceProvider)
BeanContextServiceProvider 调用此方法来向此上下文注册一个特定服务。如果该服务不是以前已添加的服务,则
BeanContextServices 会将该服务与
BeanContextServiceProvider 相关联,并对所有当前已注册的
BeanContextServicesListeners 激发一个
BeanContextServiceAvailableEvent。然后该方法返回
true,指示成功添加了服务。如果已添加给定服务,则此方法仅返回
false。
serviceClass - 要添加的服务
serviceProvider - 与该服务相关联的
BeanContextServiceProvider
void revokeService(Class serviceClass, BeanContextServiceProvider serviceProvider, boolean revokeCurrentServicesNow)
BeanContextServices 对当前已注册的
BeanContextServiceRevokedListeners 和
BeanContextServicesListeners 的列表触发一个
BeanContextServiceRevokedEvent。
serviceClass - 要从此 BeanContextServices 中取消的服务
serviceProvider - 与将取消的特定服务有关联的 BeanContextServiceProvider
revokeCurrentServicesNow - 值为
true 指示一个异常环境,在该环境中,
BeanContextServiceProvider 或
BeanContextServices 希望立即终止为指定服务的所有当前突出引用提供服务。
boolean hasService(Class serviceClass)
serviceClass - 相关服务
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
void releaseService(BeanContextChild child, Object requestor, Object service)
BeanContextServiceProvider 上调用 releaseService() 释放
BeanContextChild(或与 BeanContextChild 关联的任意对象)对指定服务的引用。
child -
BeanContextChild
requestor - 请求者
service - 服务
Iterator getCurrentServiceClasses()
Iterator
Iterator getCurrentServiceSelectors(Class serviceClass)
serviceClass - 指定服务
void addBeanContextServicesListener(BeanContextServicesListener bcsl)
BeanContextServicesListener 添加到此 BeanContext
bcsl - 要添加的
BeanContextServicesListener
void removeBeanContextServicesListener(BeanContextServicesListener bcsl)
BeanContext 中移除一个
BeanContextServicesListener
bcsl - 要从此上下文移除的
BeanContextServicesListener