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
Nested ClassesModifier 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
FieldsModifier 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, okToUseGuiFields declared in class java.beans.beancontext.BeanContextChildSupport
beanContext, beanContextChildPeer, pcSupport, rejectedSetBCOnce, vcSupportFields declared in interface java.beans.beancontext.BeanContext
globalHierarchyLockFields declared in interface java.beans.DesignMode
PROPERTYNAME -
Constructor Summary
ConstructorsConstructorDescription创建一个不是其他对象代理的实例。创建一个带有对等体的实例。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。booleanaddService(Class<?> serviceClass, BeanContextServiceProvider bcsp) 添加一个服务。protected booleanaddService(Class<?> serviceClass, BeanContextServiceProvider bcsp, boolean fireEvent) 添加一个服务。protected void在反序列化子之前从BeanContextSupport调用readObject...protected void在序列化子之前从BeanContextSupport调用writeObject...protected voidchildJustRemovedHook(Object child, BeanContextSupport.BCSChild bcsc) 在成功移除子之后由超类子移除操作调用。与子同步调用。protected BeanContextSupport.BCSChildcreateBCSChild(Object targetChild, Object peer) 子类可以重写此方法以插入自己的Child子类,而无需重写add()或其他将子添加到集合中的Collection方法。createBCSSServiceProvider(Class<?> sc, BeanContextServiceProvider bcsp) 子类可以重写此方法以创建新的BCSSServiceProvider子类,而无需重写addService()以实例化。protected final void触发一个指示新服务已可用的BeanContextServiceAvailableEvent。protected final voidfireServiceAdded(Class<?> serviceClass) 触发一个通知有新服务的BeanContextServiceEvent。protected final void触发一个通知服务已被撤销的BeanContextServiceEvent。protected final voidfireServiceRevoked(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) 获取可能被委托的服务。booleanhasService(Class<?> serviceClass) 是否有可能被委托的服务。void在构造和反序列化期间由BeanContextSupport超类调用以初始化子类的瞬态状态。protected void从setBeanContext调用,通知BeanContextChild从嵌套BeanContext获取的资源。protected void从setBeanContext调用,通知BeanContextChild释放从嵌套BeanContext获取的资源。voidreleaseService(BeanContextChild child, Object requestor, Object service) 释放一个服务。void移除一个BeanContextServicesListener。voidrevokeService(Class<?> serviceClass, BeanContextServiceProvider bcsp, boolean revokeCurrentServicesNow) 移除一个服务。voidBeanContextServicesListener回调,将事件传播到所有当前注册的侦听器和BeanContextServices子,如果此BeanContextService尚未实现此服务。voidBeanContextServicesListener回调,将事件传播到所有当前注册的侦听器和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, writeChildrenMethods declared in class java.beans.beancontext.BeanContextChildSupport
addPropertyChangeListener, addVetoableChangeListener, firePropertyChange, fireVetoableChange, getBeanContext, getBeanContextChildPeer, isDelegated, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext, validatePendingSetBeanContextMethods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods declared in interface java.beans.beancontext.BeanContext
addBeanContextMembershipListener, getResource, getResourceAsStream, instantiateChild, removeBeanContextMembershipListenerMethods declared in interface java.beans.beancontext.BeanContextChild
addPropertyChangeListener, addVetoableChangeListener, getBeanContext, removePropertyChangeListener, removeVetoableChangeListener, setBeanContextMethods 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, toArrayMethods declared in interface java.beans.DesignMode
isDesignTime, setDesignTimeMethods 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- 如果找不到所需的类
-