- 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
public class BeanContextServicesSupport extends BeanContextSupport implements BeanContextServices
此帮助器类提供java.beans.beancontext.BeanContextServices接口的实用程序实现。
由于此类直接实现BeanContextServices接口,因此该类可以通过子类化此实现来使用,或者通过BeanContextProxy接口从另一个实例委派此类的实例来使用。
- 从以下版本开始:
- 1.2
- 另请参见:
- Serialized Form
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 protected class
BeanContextServicesSupport.BCSSChild
protected class
BeanContextServicesSupport.BCSSProxyServiceProvider
protected static class
BeanContextServicesSupport.BCSSServiceProvider
子类可以子类化此嵌套类,以便为每个BeanContextServicesProvider添加行为。-
嵌套类/接口声明在类 java.beans.beancontext.BeanContextSupport
BeanContextSupport.BCSChild, BeanContextSupport.BCSIterator
-
-
字段汇总
字段 变量和类型 字段 描述 protected ArrayList<BeanContextServicesListener>
bcsListeners
BeanContextServicesListener
对象的列表。protected BeanContextServicesSupport.BCSSProxyServiceProvider
proxy
代表BeanContextServiceProvider
。protected int
serializable
序列化BeanContextServceProvider
的实例数。protected HashMap<Object,BeanContextServicesSupport.BCSSServiceProvider>
服务
应该在该对象上同步对protected transient HashMap services
字段的所有访问-
声明的属性在类 java.beans.beancontext.BeanContextSupport
bcmListeners, children, designTime, locale, okToUseGui
-
声明的属性在类 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
-
-
构造方法摘要
构造方法 构造器 描述 BeanContextServicesSupport()
创建一个不是另一个对象委托的实例BeanContextServicesSupport(BeanContextServices peer)
使用对等方创建实例BeanContextServicesSupport(BeanContextServices peer, Locale lcle)
使用指定的区域设置创建实例BeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dtime)
使用指定的区域设置和设计模式创建实例。BeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dTime, boolean visible)
构造BeanContextServicesSupport实例
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 void
addBeanContextServicesListener(BeanContextServicesListener bcsl)
添加BeanContextServicesListenerboolean
addService(类<?> serviceClass, BeanContextServiceProvider bcsp)
添加服务protected boolean
addService(类<?> serviceClass, BeanContextServiceProvider bcsp, boolean fireEvent)
添加服务protected void
bcsPreDeserializationHook(ObjectInputStream ois)
在反序列化子项之前从BeanContextSupport readObject调用...protected void
bcsPreSerializationHook(ObjectOutputStream oos)
在序列化子节点之前从BeanContextSupport writeObject调用...protected void
childJustRemovedHook(Object child, BeanContextSupport.BCSChild bcsc)
在成功删除子项后从超类子删除操作调用。 与孩子同步调用。protected BeanContextSupport.BCSChild
createBCSChild(Object targetChild, Object peer)
子类可以重写此方法以插入自己的Child子类,而不必覆盖add()或其他将子项添加到集合的Collection方法。protected BeanContextServicesSupport.BCSSServiceProvider
createBCSSServiceProvider(类<?> sc, BeanContextServiceProvider bcsp)
子类可以重写此方法以创建BCSSServiceProvider的新子类,而无需重写addService()以进行实例化。protected void
fireServiceAdded(BeanContextServiceAvailableEvent bcssae)
触发BeanContextServiceAvailableEvent
表示新服务已可用。protected void
fireServiceAdded(类<?> serviceClass)
触发BeanContextServiceEvent
通知新服务。protected void
fireServiceRevoked(BeanContextServiceRevokedEvent bcsre)
触发BeanContextServiceEvent
通知被撤销的服务。protected void
fireServiceRevoked(类<?> serviceClass, boolean revokeNow)
触发BeanContextServiceRevokedEvent
表示特定服务不再可用。BeanContextServices
getBeanContextServicesPeer()
获取BeanContextServices
与此相关BeanContextServicesSupport
。protected static BeanContextServicesListener
getChildBeanContextServicesListener(Object child)
获取指定子项的BeanContextServicesListener
(如果有)。Iterator<Object>
getCurrentServiceClasses()
获取此上下文的当前可用服务。Iterator<?>
getCurrentServiceSelectors(类<?> serviceClass)
通过在底层BeanContextServiceProvider上调用getCurrentServiceSelectors(),获取指定服务的服务相关服务参数(服务选择器)列表。Object
getService(BeanContextChild child, Object requestor, 类<?> serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl)
获得可以委派的服务boolean
hasService(类<?> serviceClass)
有一项服务,可以委派void
initialize()
在构造和反序列化期间由BeanContextSupport超类调用以初始化子类瞬态。protected void
initializeBeanContextResources()
从setBeanContext调用以通知BeanContextChild分配从嵌套BeanContext获取的资源。protected void
releaseBeanContextResources()
从setBeanContext调用以通知BeanContextChild释放从嵌套BeanContext获取的资源。void
releaseService(BeanContextChild child, Object requestor, Object service)
发布服务void
removeBeanContextServicesListener(BeanContextServicesListener bcsl)
删除BeanContextServicesListenervoid
revokeService(类<?> serviceClass, BeanContextServiceProvider bcsp, boolean revokeCurrentServicesNow)
删除服务void
serviceAvailable(BeanContextServiceAvailableEvent bcssae)
BeanContextServicesListener回调,将事件传播到所有当前已注册的侦听器和BeanContextServices子节点,如果此BeanContextService尚未实现此服务本身。void
serviceRevoked(BeanContextServiceRevokedEvent bcssre)
BeanContextServicesListener回调,将事件传播到所有当前已注册的侦听器和BeanContextServices子节点,如果此BeanContextService尚未实现此服务本身。-
声明方法的类 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
-
声明方法的类 java.beans.beancontext.BeanContextChildSupport
addPropertyChangeListener, addVetoableChangeListener, firePropertyChange, fireVetoableChange, getBeanContext, getBeanContextChildPeer, isDelegated, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext, validatePendingSetBeanContext
-
声明方法的类 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
声明方法的接口 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, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray, toArray
-
声明方法的接口 java.beans.DesignMode
isDesignTime, setDesignTime
-
声明方法的接口 java.beans.Visibility
avoidingGui, dontUseGui, needsGui, okToUseGui
-
-
-
-
字段详细信息
-
服务
protected transient HashMap<Object,BeanContextServicesSupport.BCSSServiceProvider> services
应该在该对象上同步对protected transient HashMap services
字段的所有访问
-
serializable
protected transient int serializable
序列化BeanContextServceProvider
的实例数。
-
proxy
protected transient BeanContextServicesSupport.BCSSProxyServiceProvider proxy
代表BeanContextServiceProvider
。
-
bcsListeners
protected transient ArrayList<BeanContextServicesListener> bcsListeners
BeanContextServicesListener
对象列表
-
-
构造方法详细信息
-
BeanContextServicesSupport
public BeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dTime, boolean visible)
构造BeanContextServicesSupport实例
- 参数
-
peer
- 我们正在为其提供实现的对等BeanContext,如果为null,则此对象是其自己的对等方 -
lcle
- 此BeanContext的当前Locale。 -
dTime
- 初始状态,如果在设计模式下则为true,如果是运行时则为false。 -
visible
- 初始可见性。
-
BeanContextServicesSupport
public BeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dtime)
使用指定的区域设置和设计模式创建实例。- 参数
-
peer
- 我们正在为其提供实现的对等BeanContext,如果为null,则此对象是其自己的对等方 -
lcle
- 此BeanContext的当前Locale。 -
dtime
- 初始状态,如果在设计模式下则为true,如果是运行时则为false。
-
BeanContextServicesSupport
public BeanContextServicesSupport(BeanContextServices peer, Locale lcle)
使用指定的区域设置创建实例- 参数
-
peer
- 我们正在为其提供实现的对等BeanContext,如果为null,则此对象是其自己的对等体 -
lcle
- 此BeanContext的当前Locale。
-
BeanContextServicesSupport
public BeanContextServicesSupport(BeanContextServices peer)
使用对等方创建实例- 参数
-
peer
- 我们正在为其提供实现的对等BeanContext,如果为null,则此对象是其自己的对等体
-
BeanContextServicesSupport
public BeanContextServicesSupport()
创建一个不是另一个对象委托的实例
-
-
方法详细信息
-
initialize
public void initialize()
在构造和反序列化期间由BeanContextSupport超类调用以初始化子类瞬态。 子类可以包含此方法,但不应覆盖它或直接调用它。
-
getBeanContextServicesPeer
public BeanContextServices getBeanContextServicesPeer()
获取BeanContextServices
与此相关BeanContextServicesSupport
。- 结果
-
该对象的实例为
BeanContext
提供了实现。
-
createBCSChild
protected BeanContextSupport.BCSChild createBCSChild(Object targetChild, Object peer)
子类可以重写此方法以插入自己的Child子类,而不必覆盖add()或其他将子项添加到集合的Collection方法。
- 重写:
-
createBCSChild
在课程BeanContextSupport
- 参数
-
targetChild
- 代表孩子创建孩子 -
peer
- 如果targetChild和peer通过BeanContextProxy相关,则为peer - 结果
- Child的子类型特定子类,不覆盖集合方法
-
createBCSSServiceProvider
protected BeanContextServicesSupport.BCSSServiceProvider createBCSSServiceProvider(类<?> sc, BeanContextServiceProvider bcsp)
子类可以重写此方法以创建BCSSServiceProvider的新子类,而无需重写addService()以进行实例化。- 参数
-
sc
- 该课程 -
bcsp
- 服务提供商 - 结果
- 没有覆盖addService()的服务提供者
-
addBeanContextServicesListener
public void addBeanContextServicesListener(BeanContextServicesListener bcsl)
添加BeanContextServicesListener- Specified by:
-
addBeanContextServicesListener
in interfaceBeanContextServices
- 参数
-
bcsl
- 要添加的BeanContextServicesListener
- 异常
-
NullPointerException
- 如果参数为null
-
removeBeanContextServicesListener
public void removeBeanContextServicesListener(BeanContextServicesListener bcsl)
删除BeanContextServicesListener- Specified by:
-
removeBeanContextServicesListener
in界面BeanContextServices
- 参数
-
bcsl
- 从此上下文中删除BeanContextServicesListener
-
addService
public boolean addService(类<?> serviceClass, BeanContextServiceProvider bcsp)
添加服务- Specified by:
-
addService
in interfaceBeanContextServices
- 参数
-
serviceClass
- 服务类 -
bcsp
- 服务提供商 - 结果
- 如果服务成功添加,则为true,否则为false
-
addService
protected boolean addService(类<?> serviceClass, BeanContextServiceProvider bcsp, boolean fireEvent)
添加服务- 参数
-
serviceClass
- 服务类 -
bcsp
- 服务提供商 -
fireEvent
- 是否应该触发事件 - 结果
- 如果已成功添加服务,则为true
-
revokeService
public void revokeService(类<?> serviceClass, BeanContextServiceProvider bcsp, boolean revokeCurrentServicesNow)
删除服务- Specified by:
-
revokeService
in界面BeanContextServices
- 参数
-
serviceClass
- 服务类 -
bcsp
- 服务提供商 -
revokeCurrentServicesNow
- 是否撤销该服务
-
hasService
public boolean hasService(类<?> serviceClass)
有一项服务,可以委派- Specified by:
-
hasService
in interfaceBeanContextServices
- 参数
-
serviceClass
- 相关服务 - 结果
- 如果服务可用,则为true
-
getService
public Object getService(BeanContextChild child, Object requestor, 类<?> serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl) throws TooManyListenersException
获得可以委派的服务- Specified by:
-
getService
in interfaceBeanContextServices
- 参数
-
child
- 与此请求关联的BeanContextChild
-
requestor
- 请求服务的对象 -
serviceClass
- 所请求服务的类 -
serviceSelector
- 服务相关参数 -
bcsrl
-BeanContextServiceRevokedListener
通知服务是否应该在以后被撤销 - 结果
-
引用此上下文的命名服务或
null
- 异常
-
TooManyListenersException
- 如果有太多的听众
-
releaseService
public void releaseService(BeanContextChild child, Object requestor, Object service)
发布服务- Specified by:
-
releaseService
in interfaceBeanContextServices
- 参数
-
child
-BeanContextChild
-
requestor
- 请求者 -
service
- 服务
-
getCurrentServiceClasses
public Iterator<Object> getCurrentServiceClasses()
从界面复制的说明:BeanContextServices
获取此上下文的当前可用服务。- Specified by:
-
getCurrentServiceClasses
in interfaceBeanContextServices
- 结果
- 所有当前注册的服务类的迭代器。
-
getCurrentServiceSelectors
public Iterator<?> getCurrentServiceSelectors(类<?> serviceClass)
从界面复制的说明:BeanContextServices
通过在底层BeanContextServiceProvider上调用getCurrentServiceSelectors(),获取指定服务的服务相关服务参数(服务选择器)列表。- Specified by:
-
getCurrentServiceSelectors
in界面BeanContextServices
- 参数
-
serviceClass
- 指定的服务 - 结果
- 用于指定服务的所有当前可用服务选择器(如果有)的迭代器。
-
serviceAvailable
public void serviceAvailable(BeanContextServiceAvailableEvent bcssae)
BeanContextServicesListener回调,将事件传播到所有当前已注册的侦听器和BeanContextServices子节点,如果此BeanContextService尚未实现此服务本身。 子类可以覆盖或包含此方法以实现它们自己的传播语义。- Specified by:
-
serviceAvailable
in interfaceBeanContextServicesListener
- 重写:
-
serviceAvailable
在课程BeanContextChildSupport
- 参数
-
bcssae
- 由于服务变为可用而触发的BeanContextServiceAvailableEvent
-
serviceRevoked
public void serviceRevoked(BeanContextServiceRevokedEvent bcssre)
BeanContextServicesListener回调,将事件传播到所有当前已注册的侦听器和BeanContextServices子节点,如果此BeanContextService尚未实现此服务本身。 子类可以覆盖或包含此方法以实现它们自己的传播语义。- Specified by:
-
serviceRevoked
in界面BeanContextServiceRevokedListener
- 重写:
-
serviceRevoked
在课程BeanContextChildSupport
- 参数
-
bcssre
- 由于服务被撤销而被解雇的BeanContextServiceRevokedEvent
-
getChildBeanContextServicesListener
protected static final BeanContextServicesListener getChildBeanContextServicesListener(Object child)
获取指定子级的BeanContextServicesListener
(如果有)。- 参数
-
child
- 指定的子项 - 结果
- 指定子节点的BeanContextServicesListener(如果有)
-
childJustRemovedHook
protected void childJustRemovedHook(Object child, BeanContextSupport.BCSChild bcsc)
在成功删除子项后从超类子删除操作调用。 与孩子同步调用。 如果它是BeanContextChild,则此子类使用此挂钩立即撤消此子级使用的所有服务。 子类可以包含此方法,以实现自己的子删除副作用。- 重写:
-
childJustRemovedHook
在类BeanContextSupport
- 参数
-
child
- 孩子 -
bcsc
- BCSChild
-
releaseBeanContextResources
protected void releaseBeanContextResources()
从setBeanContext调用以通知BeanContextChild释放从嵌套BeanContext获取的资源。 此方法撤消从其父级获取的任何服务。 子类可以包含此方法以实现它们自己的语义。
-
initializeBeanContextResources
protected void initializeBeanContextResources()
从setBeanContext调用以通知BeanContextChild分配从嵌套BeanContext获取的资源。 子类可以包含此方法以实现它们自己的语义。
-
fireServiceAdded
protected final void fireServiceAdded(类<?> serviceClass)
BeanContextServiceEvent
通知新服务。- 参数
-
serviceClass
- 服务类
-
fireServiceAdded
protected final void fireServiceAdded(BeanContextServiceAvailableEvent bcssae)
触发BeanContextServiceAvailableEvent
表示新服务已可用。- 参数
-
bcssae
-BeanContextServiceAvailableEvent
-
fireServiceRevoked
protected final void fireServiceRevoked(BeanContextServiceRevokedEvent bcsre)
触发BeanContextServiceEvent
通知被撤销的服务。- 参数
-
bcsre
-BeanContextServiceRevokedEvent
-
fireServiceRevoked
protected final void fireServiceRevoked(类<?> serviceClass, boolean revokeNow)
触发BeanContextServiceRevokedEvent
表示特定服务不再可用。- 参数
-
serviceClass
- 服务类 -
revokeNow
- 现在是否应该撤销该事件
-
bcsPreSerializationHook
protected void bcsPreSerializationHook(ObjectOutputStream oos) throws IOException
在序列化子节点之前从BeanContextSupport writeObject调用...此类将序列化此处的任何Serializable BeanContextServiceProviders。 子类可以包含此方法以插入它们自己的序列化处理,该序列化处理必须在子序列化之前发生- 重写:
-
bcsPreSerializationHook
在课程BeanContextSupport
- 参数
-
oos
- 序列化期间使用的ObjectOutputStream
- 异常
-
IOException
- 如果序列化失败
-
bcsPreDeserializationHook
protected void bcsPreDeserializationHook(ObjectInputStream ois) throws IOException, ClassNotFoundException
在反序列化子节点之前从BeanContextSupport readObject调用...此类将反序列化之前序列化的任何Serializable BeanContextServiceProviders,从而使它们在反序列化时可供子节点使用。 子类可以包含此方法以插入它们自己的序列化处理,该序列化处理必须在子序列化之前发生- 重写:
-
bcsPreDeserializationHook
在课程BeanContextSupport
- 参数
-
ois
- 反序列化期间使用的ObjectInputStream
- 异常
-
IOException
- 如果反序列化失败 -
ClassNotFoundException
- 如果找不到需要的课程
-
-