java.lang.Object
java.beans.beancontext.BeanContextChildSupport
java.beans.beancontext.BeanContextSupport
java.beans.beancontext.BeanContextServicesSupport
- 所有已实现的接口:
-
BeanContext
,BeanContextChild
,BeanContextServiceRevokedListener
,BeanContextServices
,BeanContextServicesListener
,DesignMode
,PropertyChangeListener
,VetoableChangeListener
,Visibility
,Serializable
,Iterable
,Collection
,EventListener
这个辅助类提供了java.beans.beancontext.BeanContextServices接口的实用实现。
由于这个类直接实现了BeanContextServices接口,所以这个类可以并且意在通过继承这个实现类或通过BeanContextProxy接口从另一个实例委托使用。
- 自从:
- 1.2
- 参见:
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected class
一个包含children
哈希表中每个子信息的受保护的嵌套类。protected class
子类可以子类化这个嵌套类以代表每个BeanContextServiceProvider的代理。protected static class
子类可以子类化这个嵌套类以为每个BeanContextServicesProvider添加行为。Nested classes/interfaces declared in class java.beans.beancontext.BeanContextSupport
BeanContextSupport.BCSChild, BeanContextSupport.BCSIterator
-
Field Summary
Modifier and TypeFieldDescriptionprotected ArrayList
<BeanContextServicesListener> BeanContextServicesListener
对象列表。BeanContextServiceProvider
的代理。protected int
可序列化的BeanContextServceProvider
实例的数量。所有对protected transient HashMap services
字段的访问应该在该对象上同步。Fields declared in class java.beans.beancontext.BeanContextSupport
bcmListeners, children, designTime, locale, okToUseGui
Fields declared in class java.beans.beancontext.BeanContextChildSupport
beanContext, beanContextChildPeer, pcSupport, rejectedSetBCOnce, vcSupport
Fields declared in interface java.beans.beancontext.BeanContext
globalHierarchyLock
Fields declared in interface java.beans.DesignMode
PROPERTYNAME
-
Constructor Summary
ConstructorDescription创建一个不是其他对象代理的实例。创建一个带有对等体的实例。BeanContextServicesSupport
(BeanContextServices peer, Locale lcle) 使用指定的区域设置创建一个实例。BeanContextServicesSupport
(BeanContextServices peer, Locale lcle, boolean dtime) 使用指定的区域设置和设计模式创建一个实例。BeanContextServicesSupport
(BeanContextServices peer, Locale lcle, boolean dTime, boolean visible) 构造一个BeanContextServicesSupport实例。 -
Method Summary
Modifier and TypeMethodDescriptionvoid
添加一个BeanContextServicesListener。boolean
addService
(Class<?> serviceClass, BeanContextServiceProvider bcsp) 添加一个服务。protected boolean
addService
(Class<?> serviceClass, BeanContextServiceProvider bcsp, boolean fireEvent) 添加一个服务。protected void
在反序列化子之前从BeanContextSupport调用readObject...protected void
在序列化子之前从BeanContextSupport调用writeObject...protected void
childJustRemovedHook
(Object child, BeanContextSupport.BCSChild bcsc) 在成功移除子之后由超类子移除操作调用。与子同步调用。protected BeanContextSupport.BCSChild
createBCSChild
(Object targetChild, Object peer) 子类可以重写此方法以插入自己的Child子类,而无需重写add()或其他将子添加到集合中的Collection方法。createBCSSServiceProvider
(Class<?> sc, BeanContextServiceProvider bcsp) 子类可以重写此方法以创建新的BCSSServiceProvider子类,而无需重写addService()以实例化。protected final void
触发一个指示新服务已可用的BeanContextServiceAvailableEvent
。protected final void
fireServiceAdded
(Class<?> serviceClass) 触发一个通知有新服务的BeanContextServiceEvent
。protected final void
触发一个通知服务已被撤销的BeanContextServiceEvent
。protected final void
fireServiceRevoked
(Class<?> serviceClass, boolean revokeNow) 触发一个指示特定服务不再可用的BeanContextServiceRevokedEvent
。获取与此BeanContextServicesSupport
关联的BeanContextServices
。protected static final BeanContextServicesListener
获取指定子的BeanContextServicesListener
(如果有)。获取此上下文的当前可用服务。Iterator
<?> getCurrentServiceSelectors
(Class<?> serviceClass) 通过调用基础BeanContextServiceProvider的getCurrentServiceSelectors()获取指定服务的服务相关参数(服务选择器)的列表。getService
(BeanContextChild child, Object requestor, Class<?> serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl) 获取可能被委托的服务。boolean
hasService
(Class<?> serviceClass) 是否有可能被委托的服务。void
在构造和反序列化期间由BeanContextSupport超类调用以初始化子类的瞬态状态。protected void
从setBeanContext调用,通知BeanContextChild从嵌套BeanContext获取的资源。protected void
从setBeanContext调用,通知BeanContextChild释放从嵌套BeanContext获取的资源。void
releaseService
(BeanContextChild child, Object requestor, Object service) 释放一个服务。void
移除一个BeanContextServicesListener。void
revokeService
(Class<?> serviceClass, BeanContextServiceProvider bcsp, boolean revokeCurrentServicesNow) 移除一个服务。void
BeanContextServicesListener回调,将事件传播到所有当前注册的侦听器和BeanContextServices子,如果此BeanContextService尚未实现此服务。void
BeanContextServicesListener回调,将事件传播到所有当前注册的侦听器和BeanContextServices子,如果此BeanContextService尚未实现此服务。Methods declared in class java.beans.beancontext.BeanContextSupport
add, addAll, addBeanContextMembershipListener, avoidingGui, bcsChildren, childDeserializedHook, childJustAddedHook, classEquals, clear, contains, containsAll, containsKey, copyChildren, deserialize, dontUseGui, fireChildrenAdded, fireChildrenRemoved, getBeanContextPeer, getChildBeanContextChild, getChildBeanContextMembershipListener, getChildPropertyChangeListener, getChildSerializable, getChildVetoableChangeListener, getChildVisibility, getLocale, getResource, getResourceAsStream, instantiateChild, isDesignTime, isEmpty, isSerializing, iterator, needsGui, okToUseGui, propertyChange, readChildren, remove, remove, removeAll, removeBeanContextMembershipListener, retainAll, serialize, setDesignTime, setLocale, size, toArray, toArray, validatePendingAdd, validatePendingRemove, vetoableChange, writeChildren
Methods declared in class java.beans.beancontext.BeanContextChildSupport
addPropertyChangeListener, addVetoableChangeListener, firePropertyChange, fireVetoableChange, getBeanContext, getBeanContextChildPeer, isDelegated, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext, validatePendingSetBeanContext
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods declared in interface java.beans.beancontext.BeanContext
addBeanContextMembershipListener, getResource, getResourceAsStream, instantiateChild, removeBeanContextMembershipListener
Methods declared in interface java.beans.beancontext.BeanContextChild
addPropertyChangeListener, addVetoableChangeListener, getBeanContext, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext
Methods declared in interface java.util.Collection
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray, toArray
Methods declared in interface java.beans.DesignMode
isDesignTime, setDesignTime
Methods declared in interface java.beans.Visibility
avoidingGui, dontUseGui, needsGui, okToUseGui
-
Field Details
-
services
所有对protected transient HashMap services
字段的访问应该在该对象上同步。 -
serializable
protected transient int serializable可序列化的BeanContextServceProvider
实例的数量。 -
proxy
BeanContextServiceProvider
的代理。 -
bcsListeners
BeanContextServicesListener
对象列表。
-
-
Constructor Details
-
BeanContextServicesSupport
public BeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dTime, boolean visible) 构造一个BeanContextServicesSupport实例
- 参数:
-
peer
- 我们为其提供实现的对等BeanContext,如果为null,则此对象是其自身的对等体 -
lcle
- 此BeanContext的当前区域设置 -
dTime
- 初始状态,如果在设计模式下为true,如果在运行时为false -
visible
- 初始可见性
-
BeanContextServicesSupport
使用指定的区域设置和设计模式创建一个实例。- 参数:
-
peer
- 我们为其提供实现的对等BeanContext,如果为null,则此对象是其自身的对等体 -
lcle
- 此BeanContext的当前区域设置 -
dtime
- 初始状态,如果在设计模式下为true,如果在运行时为false
-
BeanContextServicesSupport
使用指定的区域设置创建一个实例。- 参数:
-
peer
- 我们为其提供实现的对等BeanContext,如果为null,则此对象是其自身的对等体 -
lcle
- 此BeanContext的当前区域设置
-
BeanContextServicesSupport
创建一个带有对等体的实例。- 参数:
-
peer
- 我们为其提供实现的对等BeanContext,如果为null,则此对象是其自身的对等体
-
BeanContextServicesSupport
public BeanContextServicesSupport()创建一个不是其他对象代理的实例。
-
-
Method Details
-
initialize
public void initialize()在构造和反序列化期间由BeanContextSupport超类调用以初始化子类的瞬态状态。子类可以包装这个方法,但不应该重写它或直接调用它。- 覆盖:
-
initialize
在类BeanContextSupport
中
-
getBeanContextServicesPeer
获取与此BeanContextServicesSupport
关联的BeanContextServices
。- 返回:
-
提供实现的
BeanContext
实例。
-
createBCSChild
子类可以重写此方法以插入自己的Child子类,而无需重写add()或其他将子添加到集合中的Collection方法。
- 覆盖:
-
createBCSChild
在类BeanContextSupport
中 - 参数:
-
targetChild
- 代表创建Child的子 -
peer
- 如果targetChild和peer由BeanContextProxy相关,则为对等体 - 返回:
- 不重写集合方法的特定子类型的Child子类
-
createBCSSServiceProvider
protected BeanContextServicesSupport.BCSSServiceProvider createBCSSServiceProvider(Class<?> sc, BeanContextServiceProvider bcsp) 子类可以重写此方法以创建新的BCSSServiceProvider子类,而无需重写addService()以实例化。- 参数:
-
sc
- 类 -
bcsp
- 服务提供者 - 返回:
- 一个服务提供者,而不重写addService()
-
addBeanContextServicesListener
添加一个BeanContextServicesListener- 指定者:
-
addBeanContextServicesListener
在接口BeanContextServices
中 - 参数:
-
bcsl
- 要添加的BeanContextServicesListener
- 抛出:
-
NullPointerException
- 如果参数为null
-
removeBeanContextServicesListener
移除一个BeanContextServicesListener- 指定者:
-
removeBeanContextServicesListener
在接口BeanContextServices
中 - 参数:
-
bcsl
- 要从此上下文中移除的BeanContextServicesListener
-
addService
添加一个服务- 指定者:
-
addService
在接口BeanContextServices
中 - 参数:
-
serviceClass
- 服务类 -
bcsp
- 服务提供者 - 返回:
- 如果服务成功添加,则返回true,否则返回false
-
addService
protected boolean addService(Class<?> serviceClass, BeanContextServiceProvider bcsp, boolean fireEvent) 添加一个服务- 参数:
-
serviceClass
- 服务类 -
bcsp
- 服务提供者 -
fireEvent
- 是否应触发事件 - 返回:
- 如果服务成功添加,则返回true
-
revokeService
public void revokeService(Class<?> serviceClass, BeanContextServiceProvider bcsp, boolean revokeCurrentServicesNow) 移除一个服务- 指定者:
-
revokeService
在接口BeanContextServices
中 - 参数:
-
serviceClass
- 服务类 -
bcsp
- 服务提供者 -
revokeCurrentServicesNow
- 是否撤销服务
-
hasService
拥有一个服务,可能被委托- 指定者:
-
hasService
在接口BeanContextServices
中 - 参数:
-
serviceClass
- 所询问的服务 - 返回:
- 如果服务可用,则返回true
-
getService
public Object getService(BeanContextChild child, Object requestor, Class<?> serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl) throws TooManyListenersException 获取一个可能被委托的服务- 指定者:
-
getService
在接口BeanContextServices
中 - 参数:
-
child
- 与此请求相关联的BeanContextChild
-
requestor
- 请求服务的对象 -
serviceClass
- 请求的服务类 -
serviceSelector
- 与服务相关的参数 -
bcsrl
- 如果服务稍后应被撤销,则通知的BeanContextServiceRevokedListener
- 返回:
-
返回请求的此上下文的命名服务的引用,如果没有则返回
null
- 抛出:
-
TooManyListenersException
- 如果监听器过多
-
releaseService
释放一个服务- 指定者:
-
releaseService
在接口BeanContextServices
中 - 参数:
-
child
-BeanContextChild
-
requestor
- 请求者 -
service
- 服务
-
getCurrentServiceClasses
从接口复制的描述:BeanContextServices
获取此上下文当前可用的服务。- 指定者:
-
getCurrentServiceClasses
在接口BeanContextServices
中 - 返回:
- 所有当前注册的服务类的迭代器。
-
getCurrentServiceSelectors
从接口复制的描述:BeanContextServices
通过调用基础BeanContextServiceProvider上的getCurrentServiceSelectors()方法,获取指定服务的服务相关参数(服务选择器)列表。- 指定者:
-
getCurrentServiceSelectors
在接口BeanContextServices
中 - 参数:
-
serviceClass
- 指定的服务 - 返回:
- 所有当前可用的服务选择器(如果有)的迭代器,适用于指定的服务。
-
serviceAvailable
BeanContextServicesListener回调,将事件传播给所有当前注册的监听器和BeanContextServices子级,如果此BeanContextService尚未实现此服务。子类可以重写或包装此方法以实现自己的传播语义。- 指定者:
-
serviceAvailable
在接口BeanContextServicesListener
中 - 覆盖:
-
serviceAvailable
在类BeanContextChildSupport
中 - 参数:
-
bcssae
- 由于服务变为可用而触发的BeanContextServiceAvailableEvent
-
serviceRevoked
BeanContextServicesListener回调,将事件传播给所有当前注册的监听器和BeanContextServices子级,如果此BeanContextService尚未实现此服务。子类可以重写或包装此方法以实现自己的传播语义。- 指定者:
-
serviceRevoked
在接口BeanContextServiceRevokedListener
中 - 覆盖:
-
serviceRevoked
在类BeanContextChildSupport
中 - 参数:
-
bcssre
- 由于服务被撤销而触发的BeanContextServiceRevokedEvent
-
getChildBeanContextServicesListener
protected static final BeanContextServicesListener getChildBeanContextServicesListener(Object child) 获取指定子级的BeanContextServicesListener
(如果有)。- 参数:
-
child
- 指定的子级 - 返回:
- 指定子级的BeanContextServicesListener(如果有)
-
childJustRemovedHook
从超类子级移除操作后调用,成功移除子级后调用。与子级同步调用。此子类使用此钩子立即撤销此子级正在使用的任何服务,如果它是BeanContextChild。子类可以包装此方法以实现自己的子级移除副作用。- 覆盖:
-
childJustRemovedHook
在类BeanContextSupport
中 - 参数:
-
child
- 子级 -
bcsc
- BCSChild
-
releaseBeanContextResources
protected void releaseBeanContextResources()从setBeanContext调用,通知BeanContextChild释放从嵌套BeanContext获取的资源。此方法会撤销从其父级获取的任何服务。子类可以包装此方法以实现自己的语义。 -
initializeBeanContextResources
protected void initializeBeanContextResources()从setBeanContext调用,通知BeanContextChild分配从嵌套BeanContext获取的资源。子类可以包装此方法以实现自己的语义。 -
fireServiceAdded
触发一个BeanContextServiceEvent
,通知有新服务。- 参数:
-
serviceClass
- 服务类
-
fireServiceAdded
触发一个BeanContextServiceAvailableEvent
,指示新服务已经可用。- 参数:
-
bcssae
-BeanContextServiceAvailableEvent
-
fireServiceRevoked
触发一个BeanContextServiceEvent
,通知服务已被撤销。- 参数:
-
bcsre
-BeanContextServiceRevokedEvent
-
fireServiceRevoked
触发一个BeanContextServiceRevokedEvent
,指示特定服务不再可用。- 参数:
-
serviceClass
- 服务类 -
revokeNow
- 是否立即撤销事件
-
bcsPreSerializationHook
在 BeanContextSupport 在序列化子项之前调用 writeObject 方法... 该类将序列化此处的任何可序列化的 BeanContextServiceProviders。子类可以包装此方法以插入它们自己的序列化处理,该处理必须在序列化子项之前发生- 覆盖:
-
bcsPreSerializationHook
在类BeanContextSupport
中 - 参数:
-
oos
- 用于序列化的ObjectOutputStream
- 抛出:
-
IOException
- 如果序列化失败
-
bcsPreDeserializationHook
protected void bcsPreDeserializationHook(ObjectInputStream ois) throws IOException, ClassNotFoundException 在 BeanContextSupport 在反序列化子项之前调用 readObject 方法... 该类将反序列化先前序列化的任何可序列化的 BeanContextServiceProviders,从而使它们在子项反序列化时可用。子类可以包装此方法以插入它们自己的序列化处理,该处理必须在序列化子项之前发生- 覆盖:
-
bcsPreDeserializationHook
在类BeanContextSupport
中 - 参数:
-
ois
- 用于反序列化的ObjectInputStream
- 抛出:
-
IOException
- 如果反序列化失败 -
ClassNotFoundException
- 如果找不到所需的类
-