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.
| Modifier and Type | Class and Description | 
|---|---|
| protected class  | BeanContextServicesSupport.BCSSChild | 
| protected class  | BeanContextServicesSupport.BCSSProxyServiceProvider | 
| protected static class  | BeanContextServicesSupport.BCSSServiceProvidersubclasses may subclass this nested class to add behaviors for
 each BeanContextServicesProvider. | 
BeanContextSupport.BCSChild, BeanContextSupport.BCSIterator| Modifier and Type | Field and Description | 
|---|---|
| protected ArrayList | bcsListenersList of BeanContextServicesListener objects. | 
| protected BeanContextServicesSupport.BCSSProxyServiceProvider | proxyDelegate for the BeanContextServiceProvider. | 
| protected int | serializableThe number of instances of a serializable BeanContextServceProvider. | 
| protected HashMap | servicesall accesses to the   protected transient HashMap services field should be synchronized on that object | 
bcmListeners, children, designTime, locale, okToUseGuibeanContext, beanContextChildPeer, pcSupport, rejectedSetBCOnce, vcSupportglobalHierarchyLockPROPERTYNAME| Constructor and Description | 
|---|
| BeanContextServicesSupport()Create an instance that is not a delegate of another object | 
| BeanContextServicesSupport(BeanContextServices peer)Create an instance with a peer | 
| BeanContextServicesSupport(BeanContextServices peer,
                          Locale lcle)Create an instance using the specified locale | 
| BeanContextServicesSupport(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 | 
| Modifier and Type | Method and Description | 
|---|---|
| void | addBeanContextServicesListener(BeanContextServicesListener bcsl)add a BeanContextServicesListener | 
| boolean | addService(Class serviceClass,
          BeanContextServiceProvider bcsp)add a service | 
| protected boolean | addService(Class serviceClass,
          BeanContextServiceProvider bcsp,
          boolean fireEvent)add a service | 
| protected void | bcsPreDeserializationHook(ObjectInputStream ois)called from BeanContextSupport readObject before it deserializes the
 children ... | 
| protected void | bcsPreSerializationHook(ObjectOutputStream oos)called from BeanContextSupport writeObject before it serializes the
 children ... | 
| protected void | childJustRemovedHook(Object child,
                    BeanContextSupport.BCSChild bcsc)called from superclass child removal operations after a child
 has been successfully removed. | 
| protected 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. | 
| protected BeanContextServicesSupport.BCSSServiceProvider | createBCSSServiceProvider(Class sc,
                         BeanContextServiceProvider bcsp)subclasses can override this method to create new subclasses of
 BCSSServiceProvider without having to overrride addService() in
 order to instantiate. | 
| protected void | fireServiceAdded(BeanContextServiceAvailableEvent bcssae)Fires a BeanContextServiceAvailableEvent indicating that a new
 service has become available. | 
| protected void | fireServiceAdded(Class serviceClass)Fires a BeanContextServiceEvent notifying of a new service. | 
| protected void | fireServiceRevoked(BeanContextServiceRevokedEvent bcsre)Fires a BeanContextServiceEvent notifying of a service being revoked. | 
| protected void | fireServiceRevoked(Class serviceClass,
                  boolean revokeNow)Fires a BeanContextServiceRevokedEvent
 indicating that a particular service is
 no longer available. | 
| BeanContextServices | getBeanContextServicesPeer()Gets the BeanContextServices associated with this
 BeanContextServicesSupport. | 
| protected static BeanContextServicesListener | getChildBeanContextServicesListener(Object child)Gets the BeanContextServicesListener (if any) of the specified
 child. | 
| Iterator | 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. | 
| Object | getService(BeanContextChild child,
          Object requestor,
          Class serviceClass,
          Object serviceSelector,
          BeanContextServiceRevokedListener bcsrl)obtain a service which may be delegated | 
| boolean | hasService(Class serviceClass)has a service, which may be delegated | 
| void | initialize()called by BeanContextSupport superclass during construction and
 deserialization to initialize subclass transient state. | 
| protected void | initializeBeanContextResources()called from setBeanContext to notify a BeanContextChild
 to allocate resources obtained from the nesting BeanContext. | 
| protected void | releaseBeanContextResources()called from setBeanContext to notify a BeanContextChild
 to release resources obtained from the nesting BeanContext. | 
| void | releaseService(BeanContextChild child,
              Object requestor,
              Object service)release a service | 
| void | removeBeanContextServicesListener(BeanContextServicesListener bcsl)remove a BeanContextServicesListener | 
| void | revokeService(Class serviceClass,
             BeanContextServiceProvider bcsp,
             boolean revokeCurrentServicesNow)remove a service | 
| 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. | 
| 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. | 
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, writeChildrenaddPropertyChangeListener, addVetoableChangeListener, firePropertyChange, fireVetoableChange, getBeanContext, getBeanContextChildPeer, isDelegated, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext, validatePendingSetBeanContextclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddBeanContextMembershipListener, getResource, getResourceAsStream, instantiateChild, removeBeanContextMembershipListeneraddPropertyChangeListener, addVetoableChangeListener, getBeanContext, removePropertyChangeListener, removeVetoableChangeListener, setBeanContextadd, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArrayisDesignTime, setDesignTimeavoidingGui, dontUseGui, needsGui, okToUseGuiprotected transient HashMap services
 protected transient HashMap services 
 field should be synchronized on that objectprotected transient int serializable
protected transient BeanContextServicesSupport.BCSSProxyServiceProvider proxy
protected transient ArrayList bcsListeners
public BeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dTime, boolean visible)
Construct a BeanContextServicesSupport instance
peer - The peer BeanContext we are supplying an implementation for, if null the this object is its own peerlcle - The current Locale for this BeanContext.dTime - The initial state, true if in design mode, false if runtime.visible - The initial visibility.public BeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dtime)
peer - The peer BeanContext we are supplying an implementation for, if null the this object is its own peerlcle - The current Locale for this BeanContext.dtime - The initial state, true if in design mode, false if runtime.public BeanContextServicesSupport(BeanContextServices peer, Locale lcle)
peer - The peer BeanContext we are supplying an implementation for, if null the this object is its own peerlcle - The current Locale for this BeanContext.public BeanContextServicesSupport(BeanContextServices peer)
peer - The peer BeanContext we are supplying an implementation for, if null the this object is its own peerpublic BeanContextServicesSupport()
public void initialize()
initialize in class BeanContextSupportpublic BeanContextServices getBeanContextServicesPeer()
protected 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.
createBCSChild in class BeanContextSupporttargetChild - the child to create the Child on behalf ofpeer - the peer if the targetChild and peer are related by BeanContextProxyprotected BeanContextServicesSupport.BCSSServiceProvider createBCSSServiceProvider(Class sc, BeanContextServiceProvider bcsp)
public void addBeanContextServicesListener(BeanContextServicesListener bcsl)
addBeanContextServicesListener in interface BeanContextServicesbcsl - the BeanContextServicesListener to addNullPointerExceptionpublic void removeBeanContextServicesListener(BeanContextServicesListener bcsl)
removeBeanContextServicesListener in interface BeanContextServicesbcsl - the BeanContextServicesListener
 to remove from this contextpublic boolean addService(Class serviceClass, BeanContextServiceProvider bcsp)
addService in interface BeanContextServicesserviceClass - the service to addbcsp - the BeanContextServiceProvider
 associated with the serviceprotected boolean addService(Class serviceClass, BeanContextServiceProvider bcsp, boolean fireEvent)
public void revokeService(Class serviceClass, BeanContextServiceProvider bcsp, boolean revokeCurrentServicesNow)
revokeService in interface BeanContextServicesserviceClass - the service to revoke from this BeanContextServicesbcsp - the BeanContextServiceProvider associated with
 this particular service that is being revokedrevokeCurrentServicesNow - a value of true
 indicates an exceptional circumstance where the
 BeanContextServiceProvider or
 BeanContextServices wishes to immediately
 terminate service to all currently outstanding references
 to the specified service.public boolean hasService(Class serviceClass)
hasService in interface BeanContextServicesserviceClass - the service in questionpublic Object getService(BeanContextChild child, Object requestor, Class serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl) throws TooManyListenersException
getService in interface BeanContextServiceschild - the BeanContextChild
 associated with this requestrequestor - the object requesting the serviceserviceClass - class of the requested serviceserviceSelector - the service dependent parameterbcsrl - the
 BeanContextServiceRevokedListener to notify
 if the service should later become revokednullTooManyListenersExceptionpublic void releaseService(BeanContextChild child, Object requestor, Object service)
releaseService in interface BeanContextServiceschild - the BeanContextChildrequestor - the requestorservice - the servicepublic Iterator getCurrentServiceClasses()
BeanContextServicesgetCurrentServiceClasses in interface BeanContextServicespublic Iterator getCurrentServiceSelectors(Class serviceClass)
BeanContextServicesgetCurrentServiceSelectors in interface BeanContextServicesserviceClass - the specified servicepublic void serviceAvailable(BeanContextServiceAvailableEvent bcssae)
serviceAvailable in interface BeanContextServicesListenerserviceAvailable in class BeanContextChildSupportbcssae - The BeanContextServiceAvailableEvent fired as a
 result of a service becoming availablepublic void serviceRevoked(BeanContextServiceRevokedEvent bcssre)
serviceRevoked in interface BeanContextServiceRevokedListenerserviceRevoked in class BeanContextChildSupportbcssre - The BeanContextServiceRevokedEvent fired as a
 result of a service being revokedprotected static final BeanContextServicesListener getChildBeanContextServicesListener(Object child)
child - the specified childprotected void childJustRemovedHook(Object child, BeanContextSupport.BCSChild bcsc)
childJustRemovedHook in class BeanContextSupportprotected void releaseBeanContextResources()
releaseBeanContextResources in class BeanContextChildSupportprotected void initializeBeanContextResources()
initializeBeanContextResources in class BeanContextChildSupportprotected final void fireServiceAdded(Class serviceClass)
protected final void fireServiceAdded(BeanContextServiceAvailableEvent bcssae)
bcssae - the BeanContextServiceAvailableEventprotected final void fireServiceRevoked(BeanContextServiceRevokedEvent bcsre)
bcsre - the BeanContextServiceRevokedEventprotected final void fireServiceRevoked(Class serviceClass, boolean revokeNow)
protected void bcsPreSerializationHook(ObjectOutputStream oos) throws IOException
bcsPreSerializationHook in class BeanContextSupportIOExceptionprotected void bcsPreDeserializationHook(ObjectInputStream ois) throws IOException, ClassNotFoundException
bcsPreDeserializationHook in class BeanContextSupportIOExceptionClassNotFoundException Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2014, Oracle and/or its affiliates.  All rights reserved.