-
- All Superinterfaces:
-
BeanContext
,BeanContextChild
,BeanContextServiceRevokedListener
,BeanContextServicesListener
,Collection
,DesignMode
,EventListener
,Iterable
,Visibility
- 所有已知实现类:
-
BeanContextServicesSupport
public interface BeanContextServices extends BeanContext, BeanContextServicesListener
BeanContextServices接口为BeanContext提供了一种机制,用于向其中的BeanContextChild对象公开通用“服务”。
-
-
字段汇总
-
Fields declared in interface java.beans.beancontext.BeanContext
globalHierarchyLock
-
Fields declared in interface java.beans.DesignMode
PROPERTYNAME
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 void
addBeanContextServicesListener(BeanContextServicesListener bcsl)
在此BeanContext中添加BeanContextServicesListener
boolean
addService(类<?> serviceClass, BeanContextServiceProvider serviceProvider)
向此BeanContext添加服务。Iterator<?>
getCurrentServiceClasses()
获取此上下文的当前可用服务。Iterator<?>
getCurrentServiceSelectors(类<?> serviceClass)
通过在底层BeanContextServiceProvider上调用getCurrentServiceSelectors(),获取指定服务的服务相关服务参数(服务选择器)列表。Object
getService(BeanContextChild child, Object requestor, 类<?> serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl)
BeanContextChild
或与BeanContextChild
关联的任意对象可以通过调用此方法从其嵌套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可以通过调用此方法来执行此操作。-
声明方法的接口 java.beans.beancontext.BeanContext
addBeanContextMembershipListener, getResource, getResourceAsStream, instantiateChild, removeBeanContextMembershipListener
-
声明方法的接口 java.beans.beancontext.BeanContextChild
addPropertyChangeListener, addVetoableChangeListener, getBeanContext, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext
-
声明方法的接口 java.beans.beancontext.BeanContextServiceRevokedListener
serviceRevoked
-
声明方法的接口 java.beans.beancontext.BeanContextServicesListener
serviceAvailable
-
声明方法的接口 java.util.Collection
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray, toArray
-
声明方法的接口 java.beans.DesignMode
isDesignTime, setDesignTime
-
声明方法的接口 java.beans.Visibility
avoidingGui, dontUseGui, needsGui, okToUseGui
-
-
-
-
方法详细信息
-
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可以通过调用此方法来执行此操作。 在撤销该服务后,BeanContextServices
将BeanContextServiceRevokedEvent
发送到其当前注册的BeanContextServiceRevokedListeners
和BeanContextServicesListeners
列表中。- 参数
-
serviceClass
- 从此BeanContextServices撤消的服务 -
serviceProvider
- 与正在撤消的此特定服务关联的BeanContextServiceProvider -
revokeCurrentServicesNow
- 值true
表示特殊情况,其中BeanContextServiceProvider
或BeanContextServices
希望立即终止对指定服务的所有当前未完成引用的服务。
-
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
-
-