public interface BeanContextServices extends BeanContext, BeanContextServicesListener
BeanContextServices接口提供了一个机制,让BeanContext将通用的“服务”公开给它的BeanContextChild对象。
globalHierarchyLockPROPERTYNAME| Modifier and Type | Method and Description |
|---|---|
void |
addBeanContextServicesListener(BeanContextServicesListener bcsl)
添加一个
BeanContextServicesListener来此BeanContext
|
boolean |
addService(类 serviceClass, BeanContextServiceProvider serviceProvider)
向这个BeanContext添加一个服务。
|
Iterator |
getCurrentServiceClasses()
获取此上下文的当前可用服务。
|
Iterator |
getCurrentServiceSelectors(类 serviceClass)
通过调用底层BeanContextServiceProvider上的getCurrentServiceSelectors(),获取指定服务的服务相关服务参数(服务选择器)列表。
|
Object |
getService(BeanContextChild child, Object requestor, 类 serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl)
A
BeanContextChild或与
BeanContextChild任何任意对象可以通过调用该方法从其嵌套
BeanContextServices获得对当前注册服务的
BeanContextServices 。
|
boolean |
hasService(类 serviceClass)
报告当前是否可以从此上下文获得给定的服务。
|
void |
releaseService(BeanContextChild child, Object requestor, Object service)
通过调用底层BeanContextServiceProvider上的releaseService(),释放一个
BeanContextChild (或任何与BeanContextChild关联的任意对象)对指定服务的
BeanContextServiceProvider 。
|
void |
removeBeanContextServicesListener(BeanContextServicesListener bcsl)
从此
BeanContextServicesListener删除
BeanContext
|
void |
revokeService(类 serviceClass, BeanContextServiceProvider serviceProvider, boolean revokeCurrentServicesNow)
希望从此上下文中删除当前注册的服务的BeanContextServiceProviders可以通过调用此方法来实现。
|
addBeanContextMembershipListener, getResource, getResourceAsStream, instantiateChild, removeBeanContextMembershipListeneraddPropertyChangeListener, addVetoableChangeListener, getBeanContext, removePropertyChangeListener, removeVetoableChangeListener, setBeanContextadd, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArrayisDesignTime, setDesignTimeavoidingGui, dontUseGui, needsGui, okToUseGuiserviceAvailableserviceRevokedboolean addService(类 serviceClass, BeanContextServiceProvider serviceProvider)
BeanContextServiceProvider称这个方法用这个上下文来注册一个特定的服务。
如果服务先前没有被添加,该BeanContextServices关联与服务BeanContextServiceProvider并触发一个BeanContextServiceAvailableEvent到所有当前已注册BeanContextServicesListeners 。
该方法然后返回true ,表示添加服务成功。
如果给定的服务已经被添加,这个方法只返回false 。
serviceClass - 要添加的服务
serviceProvider - 与服务相关
BeanContextServiceProvider BeanContextServiceProvider
void revokeService(类 serviceClass, BeanContextServiceProvider serviceProvider, boolean revokeCurrentServicesNow)
BeanContextServices , BeanContextServiceRevokedEvent将其BeanContextServiceRevokedListeners和BeanContextServicesListeners列表中的BeanContextServicesListeners 。
serviceClass - 从这个BeanContextServices撤销的服务
serviceProvider - 与正在撤销的特定服务相关联的BeanContextServiceProvider
revokeCurrentServicesNow -值
true表示特殊情况,其中
BeanContextServiceProvider或
BeanContextServices希望立即终止服务,指定服务当前所有未完成的引用。
boolean hasService(类 serviceClass)
serviceClass - 有关服务
Object getService(BeanContextChild child, Object requestor, 类 serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl) throws TooManyListenersException
BeanContextChild或与BeanContextChild任何任意对象可以通过调用该方法从其嵌套BeanContextServices获得对当前注册服务的BeanContextServices 。
当被调用时,该方法通过调用底层上的getService()方法获取的服务BeanContextServiceProvider 。
child - 与此请求相关
BeanContextChild BeanContextChild
requestor - 请求服务的对象
serviceClass - 所请求的服务的类
serviceSelector - 服务相关参数
bcsrl -
BeanContextServiceRevokedListener通知服务是否应该以后被撤销
null
TooManyListenersException - 如果听众太多了
void releaseService(BeanContextChild child, Object requestor, Object service)
BeanContextChild (或任何与BeanContextChild关联的任意对象)对指定服务的
BeanContextServiceProvider 。
child -
BeanContextChild
requestor - 请求者
service - 服务
Iterator getCurrentServiceClasses()
Iterator由当前可用的服务组成
Iterator getCurrentServiceSelectors(类 serviceClass)
serviceClass - 指定的服务
void addBeanContextServicesListener(BeanContextServicesListener bcsl)
BeanContextServicesListener来此BeanContext
bcsl - 要添加的
BeanContextServicesListener
void removeBeanContextServicesListener(BeanContextServicesListener bcsl)
BeanContextServicesListener删除
BeanContext
bcsl - 从此上下文中删除的
BeanContextServicesListener
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.