- java.lang.Object
- 
- java.beans.beancontext.BeanContextChildSupport
- 
- java.beans.beancontext.BeanContextSupport
- 
- java.beans.beancontext.BeanContextServicesSupport
 
 
 
- 
- All Implemented Interfaces:
- BeanContext,- BeanContextChild,- BeanContextServiceRevokedListener,- BeanContextServices,- BeanContextServicesListener,- DesignMode,- PropertyChangeListener,- VetoableChangeListener,- Visibility,- Serializable,- Iterable,- Collection,- EventListener
 
 public class BeanContextServicesSupport extends BeanContextSupport implements BeanContextServices This helper class provides a utility implementation of the java.beans.beancontext.BeanContextServices interface. Since this class directly implements the BeanContextServices interface, the class can, and is intended to be used either by subclassing this implementation, or via delegation of an instance of this class from another through the BeanContextProxy interface. - Since:
- 1.2
- See Also:
- Serialized Form
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description protected classBeanContextServicesSupport.BCSSChildprotected classBeanContextServicesSupport.BCSSProxyServiceProviderprotected static classBeanContextServicesSupport.BCSSServiceProvidersubclasses may subclass this nested class to add behaviors for each BeanContextServicesProvider.- 
Nested classes/interfaces declared in class java.beans.beancontext.BeanContextSupportBeanContextSupport.BCSChild, BeanContextSupport.BCSIterator
 
- 
 - 
Field SummaryFields Modifier and Type Field Description protected ArrayList<BeanContextServicesListener>bcsListenersList ofBeanContextServicesListenerobjects.protected BeanContextServicesSupport.BCSSProxyServiceProviderproxyDelegate for theBeanContextServiceProvider.protected intserializableThe number of instances of a serializableBeanContextServceProvider.protected HashMap<Object,BeanContextServicesSupport.BCSSServiceProvider>servicesall accesses to theprotected transient HashMap servicesfield should be synchronized on that object- 
Fields declared in class java.beans.beancontext.BeanContextSupportbcmListeners, children, designTime, locale, okToUseGui
 - 
Fields declared in class java.beans.beancontext.BeanContextChildSupportbeanContext, beanContextChildPeer, pcSupport, rejectedSetBCOnce, vcSupport
 - 
Fields declared in interface java.beans.beancontext.BeanContextglobalHierarchyLock
 - 
Fields declared in interface java.beans.DesignModePROPERTYNAME
 
- 
 - 
Constructor SummaryConstructors Constructor Description BeanContextServicesSupport()Create an instance that is not a delegate of another objectBeanContextServicesSupport(BeanContextServices peer)Create an instance with a peerBeanContextServicesSupport(BeanContextServices peer, Locale lcle)Create an instance using the specified localeBeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dtime)Create an instance using the specified Locale and design mode.BeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dTime, boolean visible)Construct a BeanContextServicesSupport instance
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddBeanContextServicesListener(BeanContextServicesListener bcsl)add a BeanContextServicesListenerbooleanaddService(Class<?> serviceClass, BeanContextServiceProvider bcsp)add a serviceprotected booleanaddService(Class<?> serviceClass, BeanContextServiceProvider bcsp, boolean fireEvent)add a serviceprotected voidbcsPreDeserializationHook(ObjectInputStream ois)called from BeanContextSupport readObject before it deserializes the children ...protected voidbcsPreSerializationHook(ObjectOutputStream oos)called from BeanContextSupport writeObject before it serializes the children ...protected voidchildJustRemovedHook(Object child, BeanContextSupport.BCSChild bcsc)called from superclass child removal operations after a child has been successfully removed. called with child synchronized.protected BeanContextSupport.BCSChildcreateBCSChild(Object targetChild, Object peer)Subclasses can override this method to insert their own subclass of Child without having to override add() or the other Collection methods that add children to the set.protected BeanContextServicesSupport.BCSSServiceProvidercreateBCSSServiceProvider(Class<?> sc, BeanContextServiceProvider bcsp)subclasses can override this method to create new subclasses of BCSSServiceProvider without having to override addService() in order to instantiate.protected voidfireServiceAdded(BeanContextServiceAvailableEvent bcssae)Fires aBeanContextServiceAvailableEventindicating that a new service has become available.protected voidfireServiceAdded(Class<?> serviceClass)Fires aBeanContextServiceEventnotifying of a new service.protected voidfireServiceRevoked(BeanContextServiceRevokedEvent bcsre)Fires aBeanContextServiceEventnotifying of a service being revoked.protected voidfireServiceRevoked(Class<?> serviceClass, boolean revokeNow)Fires aBeanContextServiceRevokedEventindicating that a particular service is no longer available.BeanContextServicesgetBeanContextServicesPeer()Gets theBeanContextServicesassociated with thisBeanContextServicesSupport.protected static BeanContextServicesListenergetChildBeanContextServicesListener(Object child)Gets theBeanContextServicesListener(if any) of the specified child.Iterator<Object>getCurrentServiceClasses()Gets the currently available services for this context.Iterator<?>getCurrentServiceSelectors(Class<?> serviceClass)Gets the list of service dependent service parameters (Service Selectors) for the specified service, by calling getCurrentServiceSelectors() on the underlying BeanContextServiceProvider.ObjectgetService(BeanContextChild child, Object requestor, Class<?> serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl)obtain a service which may be delegatedbooleanhasService(Class<?> serviceClass)has a service, which may be delegatedvoidinitialize()called by BeanContextSupport superclass during construction and deserialization to initialize subclass transient state.protected voidinitializeBeanContextResources()called from setBeanContext to notify a BeanContextChild to allocate resources obtained from the nesting BeanContext.protected voidreleaseBeanContextResources()called from setBeanContext to notify a BeanContextChild to release resources obtained from the nesting BeanContext.voidreleaseService(BeanContextChild child, Object requestor, Object service)release a servicevoidremoveBeanContextServicesListener(BeanContextServicesListener bcsl)remove a BeanContextServicesListenervoidrevokeService(Class<?> serviceClass, BeanContextServiceProvider bcsp, boolean revokeCurrentServicesNow)remove a servicevoidserviceAvailable(BeanContextServiceAvailableEvent bcssae)BeanContextServicesListener callback, propagates event to all currently registered listeners and BeanContextServices children, if this BeanContextService does not already implement this service itself.voidserviceRevoked(BeanContextServiceRevokedEvent bcssre)BeanContextServicesListener callback, propagates event to all currently registered listeners and BeanContextServices children, if this BeanContextService does not already implement this service itself.- 
Methods declared in class java.beans.beancontext.BeanContextSupportadd, 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.BeanContextChildSupportaddPropertyChangeListener, addVetoableChangeListener, firePropertyChange, fireVetoableChange, getBeanContext, getBeanContextChildPeer, isDelegated, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext, validatePendingSetBeanContext
 - 
Methods declared in class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods declared in interface java.beans.beancontext.BeanContextaddBeanContextMembershipListener, getResource, getResourceAsStream, instantiateChild, removeBeanContextMembershipListener
 - 
Methods declared in interface java.beans.beancontext.BeanContextChildaddPropertyChangeListener, addVetoableChangeListener, getBeanContext, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext
 - 
Methods declared in interface java.util.Collectionadd, 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.DesignModeisDesignTime, setDesignTime
 - 
Methods declared in interface java.beans.VisibilityavoidingGui, dontUseGui, needsGui, okToUseGui
 
- 
 
- 
- 
- 
Field Detail- 
servicesprotected transient HashMap<Object,BeanContextServicesSupport.BCSSServiceProvider> services all accesses to theprotected transient HashMap servicesfield should be synchronized on that object
 - 
serializableprotected transient int serializable The number of instances of a serializableBeanContextServceProvider.
 - 
proxyprotected transient BeanContextServicesSupport.BCSSProxyServiceProvider proxy Delegate for theBeanContextServiceProvider.
 - 
bcsListenersprotected transient ArrayList<BeanContextServicesListener> bcsListeners List ofBeanContextServicesListenerobjects.
 
- 
 - 
Constructor Detail- 
BeanContextServicesSupportpublic BeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dTime, boolean visible) Construct a BeanContextServicesSupport instance - Parameters:
- peer- The peer BeanContext we are supplying an implementation for, if null the this object is its own peer
- lcle- The current Locale for this BeanContext.
- dTime- The initial state, true if in design mode, false if runtime.
- visible- The initial visibility.
 
 - 
BeanContextServicesSupportpublic BeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dtime) Create an instance using the specified Locale and design mode.- Parameters:
- peer- The peer BeanContext we are supplying an implementation for, if null the this object is its own peer
- lcle- The current Locale for this BeanContext.
- dtime- The initial state, true if in design mode, false if runtime.
 
 - 
BeanContextServicesSupportpublic BeanContextServicesSupport(BeanContextServices peer, Locale lcle) Create an instance using the specified locale- Parameters:
- peer- The peer BeanContext we are supplying an implementation for, if null the this object is its own peer
- lcle- The current Locale for this BeanContext.
 
 - 
BeanContextServicesSupportpublic BeanContextServicesSupport(BeanContextServices peer) Create an instance with a peer- Parameters:
- peer- The peer BeanContext we are supplying an implementation for, if null the this object is its own peer
 
 - 
BeanContextServicesSupportpublic BeanContextServicesSupport() Create an instance that is not a delegate of another object
 
- 
 - 
Method Detail- 
initializepublic void initialize() called by BeanContextSupport superclass during construction and deserialization to initialize subclass transient state. subclasses may envelope this method, but should not override it or call it directly.- Overrides:
- initializein class- BeanContextSupport
 
 - 
getBeanContextServicesPeerpublic BeanContextServices getBeanContextServicesPeer() Gets theBeanContextServicesassociated with thisBeanContextServicesSupport.- Returns:
- the instance of BeanContextthis object is providing the implementation for.
 
 - 
createBCSChildprotected BeanContextSupport.BCSChild createBCSChild(Object targetChild, Object peer) Subclasses can override this method to insert their own subclass of Child without having to override add() or the other Collection methods that add children to the set. - Overrides:
- createBCSChildin class- BeanContextSupport
- Parameters:
- targetChild- the child to create the Child on behalf of
- peer- the peer if the targetChild and peer are related by BeanContextProxy
- Returns:
- Subtype-specific subclass of Child without overriding collection methods
 
 - 
createBCSSServiceProviderprotected BeanContextServicesSupport.BCSSServiceProvider createBCSSServiceProvider(Class<?> sc, BeanContextServiceProvider bcsp) subclasses can override this method to create new subclasses of BCSSServiceProvider without having to override addService() in order to instantiate.- Parameters:
- sc- the class
- bcsp- the service provider
- Returns:
- a service provider without overriding addService()
 
 - 
addBeanContextServicesListenerpublic void addBeanContextServicesListener(BeanContextServicesListener bcsl) add a BeanContextServicesListener- Specified by:
- addBeanContextServicesListenerin interface- BeanContextServices
- Parameters:
- bcsl- the- BeanContextServicesListenerto add
- Throws:
- NullPointerException- if the argument is null
 
 - 
removeBeanContextServicesListenerpublic void removeBeanContextServicesListener(BeanContextServicesListener bcsl) remove a BeanContextServicesListener- Specified by:
- removeBeanContextServicesListenerin interface- BeanContextServices
- Parameters:
- bcsl- the- BeanContextServicesListenerto remove from this context
 
 - 
addServicepublic boolean addService(Class<?> serviceClass, BeanContextServiceProvider bcsp) add a service- Specified by:
- addServicein interface- BeanContextServices
- Parameters:
- serviceClass- the service class
- bcsp- the service provider
- Returns:
- true if the service was successful added, false otherwise
 
 - 
addServiceprotected boolean addService(Class<?> serviceClass, BeanContextServiceProvider bcsp, boolean fireEvent) add a service- Parameters:
- serviceClass- the service class
- bcsp- the service provider
- fireEvent- whether or not an event should be fired
- Returns:
- true if the service was successfully added
 
 - 
revokeServicepublic void revokeService(Class<?> serviceClass, BeanContextServiceProvider bcsp, boolean revokeCurrentServicesNow) remove a service- Specified by:
- revokeServicein interface- BeanContextServices
- Parameters:
- serviceClass- the service class
- bcsp- the service provider
- revokeCurrentServicesNow- whether or not to revoke the service
 
 - 
hasServicepublic boolean hasService(Class<?> serviceClass) has a service, which may be delegated- Specified by:
- hasServicein interface- BeanContextServices
- Parameters:
- serviceClass- the service in question
- Returns:
- true if the service is available
 
 - 
getServicepublic Object getService(BeanContextChild child, Object requestor, Class<?> serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl) throws TooManyListenersException obtain a service which may be delegated- Specified by:
- getServicein interface- BeanContextServices
- Parameters:
- child- the- BeanContextChildassociated with this request
- requestor- the object requesting the service
- serviceClass- class of the requested service
- serviceSelector- the service dependent parameter
- bcsrl- the- BeanContextServiceRevokedListenerto notify if the service should later become revoked
- Returns:
- a reference to this context's named
 Service as requested or null
- Throws:
- TooManyListenersException- if there are too many listeners
 
 - 
releaseServicepublic void releaseService(BeanContextChild child, Object requestor, Object service) release a service- Specified by:
- releaseServicein interface- BeanContextServices
- Parameters:
- child- the- BeanContextChild
- requestor- the requestor
- service- the service
 
 - 
getCurrentServiceClassespublic Iterator<Object> getCurrentServiceClasses() Description copied from interface:BeanContextServicesGets the currently available services for this context.- Specified by:
- getCurrentServiceClassesin interface- BeanContextServices
- Returns:
- an iterator for all the currently registered service classes.
 
 - 
getCurrentServiceSelectorspublic Iterator<?> getCurrentServiceSelectors(Class<?> serviceClass) Description copied from interface:BeanContextServicesGets the list of service dependent service parameters (Service Selectors) for the specified service, by calling getCurrentServiceSelectors() on the underlying BeanContextServiceProvider.- Specified by:
- getCurrentServiceSelectorsin interface- BeanContextServices
- Parameters:
- serviceClass- the specified service
- Returns:
- an iterator for all the currently available service selectors (if any) available for the specified service.
 
 - 
serviceAvailablepublic void serviceAvailable(BeanContextServiceAvailableEvent bcssae) BeanContextServicesListener callback, propagates event to all currently registered listeners and BeanContextServices children, if this BeanContextService does not already implement this service itself. subclasses may override or envelope this method to implement their own propagation semantics.- Specified by:
- serviceAvailablein interface- BeanContextServicesListener
- Overrides:
- serviceAvailablein class- BeanContextChildSupport
- Parameters:
- bcssae- The BeanContextServiceAvailableEvent fired as a result of a service becoming available
 
 - 
serviceRevokedpublic void serviceRevoked(BeanContextServiceRevokedEvent bcssre) BeanContextServicesListener callback, propagates event to all currently registered listeners and BeanContextServices children, if this BeanContextService does not already implement this service itself. subclasses may override or envelope this method to implement their own propagation semantics.- Specified by:
- serviceRevokedin interface- BeanContextServiceRevokedListener
- Overrides:
- serviceRevokedin class- BeanContextChildSupport
- Parameters:
- bcssre- The- BeanContextServiceRevokedEventfired as a result of a service being revoked
 
 - 
getChildBeanContextServicesListenerprotected static final BeanContextServicesListener getChildBeanContextServicesListener(Object child) Gets theBeanContextServicesListener(if any) of the specified child.- Parameters:
- child- the specified child
- Returns:
- the BeanContextServicesListener (if any) of the specified child
 
 - 
childJustRemovedHookprotected void childJustRemovedHook(Object child, BeanContextSupport.BCSChild bcsc) called from superclass child removal operations after a child has been successfully removed. called with child synchronized. This subclass uses this hook to immediately revoke any services being used by this child if it is a BeanContextChild. subclasses may envelope this method in order to implement their own child removal side-effects.- Overrides:
- childJustRemovedHookin class- BeanContextSupport
- Parameters:
- child- the child
- bcsc- the BCSChild
 
 - 
releaseBeanContextResourcesprotected void releaseBeanContextResources() called from setBeanContext to notify a BeanContextChild to release resources obtained from the nesting BeanContext. This method revokes any services obtained from its parent. subclasses may envelope this method to implement their own semantics.- Overrides:
- releaseBeanContextResourcesin class- BeanContextChildSupport
 
 - 
initializeBeanContextResourcesprotected void initializeBeanContextResources() called from setBeanContext to notify a BeanContextChild to allocate resources obtained from the nesting BeanContext. subclasses may envelope this method to implement their own semantics.- Overrides:
- initializeBeanContextResourcesin class- BeanContextChildSupport
 
 - 
fireServiceAddedprotected final void fireServiceAdded(Class<?> serviceClass) Fires aBeanContextServiceEventnotifying of a new service.- Parameters:
- serviceClass- the service class
 
 - 
fireServiceAddedprotected final void fireServiceAdded(BeanContextServiceAvailableEvent bcssae) Fires aBeanContextServiceAvailableEventindicating that a new service has become available.- Parameters:
- bcssae- the- BeanContextServiceAvailableEvent
 
 - 
fireServiceRevokedprotected final void fireServiceRevoked(BeanContextServiceRevokedEvent bcsre) Fires aBeanContextServiceEventnotifying of a service being revoked.- Parameters:
- bcsre- the- BeanContextServiceRevokedEvent
 
 - 
fireServiceRevokedprotected final void fireServiceRevoked(Class<?> serviceClass, boolean revokeNow) Fires aBeanContextServiceRevokedEventindicating that a particular service is no longer available.- Parameters:
- serviceClass- the service class
- revokeNow- whether or not the event should be revoked now
 
 - 
bcsPreSerializationHookprotected void bcsPreSerializationHook(ObjectOutputStream oos) throws IOException called from BeanContextSupport writeObject before it serializes the children ... This class will serialize any Serializable BeanContextServiceProviders herein. subclasses may envelope this method to insert their own serialization processing that has to occur prior to serialization of the children- Overrides:
- bcsPreSerializationHookin class- BeanContextSupport
- Parameters:
- oos- the- ObjectOutputStreamto use during serialization
- Throws:
- IOException- if serialization failed
 
 - 
bcsPreDeserializationHookprotected void bcsPreDeserializationHook(ObjectInputStream ois) throws IOException, ClassNotFoundException called from BeanContextSupport readObject before it deserializes the children ... This class will deserialize any Serializable BeanContextServiceProviders serialized earlier thus making them available to the children when they deserialized. subclasses may envelope this method to insert their own serialization processing that has to occur prior to serialization of the children- Overrides:
- bcsPreDeserializationHookin class- BeanContextSupport
- Parameters:
- ois- the- ObjectInputStreamto use during deserialization
- Throws:
- IOException- if deserialization failed
- ClassNotFoundException- if needed classes are not found
 
 
- 
 
-