|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.beans.beancontext.BeanContextChildSupport java.beans.beancontext.BeanContextSupport java.beans.beancontext.BeanContextServicesSupport
public class BeanContextServicesSupport
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.
Nested Class Summary | |
---|---|
protected class |
BeanContextServicesSupport.BCSSChild
|
protected class |
BeanContextServicesSupport.BCSSProxyServiceProvider
|
protected static class |
BeanContextServicesSupport.BCSSServiceProvider
subclasses may subclass this nested class to add behaviors for each BeanContextServicesProvider. |
Nested classes/interfaces inherited from class java.beans.beancontext.BeanContextSupport |
---|
BeanContextSupport.BCSChild, BeanContextSupport.BCSIterator |
Field Summary | |
---|---|
protected ArrayList |
bcsListeners
List of BeanContextServicesListener objects. |
protected BeanContextServicesSupport.BCSSProxyServiceProvider |
proxy
Delegate for the BeanContextServiceProvider. |
protected int |
serializable
The number of instances of a serializable BeanContextServceProvider. |
protected HashMap |
services
all accesses to the protected transient HashMap services
field should be synchronized on that object |
Fields inherited from class java.beans.beancontext.BeanContextSupport |
---|
bcmListeners, children, designTime, locale, okToUseGui |
Fields inherited from class java.beans.beancontext.BeanContextChildSupport |
---|
beanContext, beanContextChildPeer, pcSupport, rejectedSetBCOnce, vcSupport |
Fields inherited from interface java.beans.beancontext.BeanContext |
---|
globalHierarchyLock |
Fields inherited from interface java.beans.DesignMode |
---|
PROPERTYNAME |
Constructor Summary | |
---|---|
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 |
Method Summary | |
---|---|
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. |
Methods inherited from class java.beans.beancontext.BeanContextChildSupport |
---|
addPropertyChangeListener, addVetoableChangeListener, firePropertyChange, fireVetoableChange, getBeanContext, getBeanContextChildPeer, isDelegated, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext, validatePendingSetBeanContext |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface java.beans.beancontext.BeanContext |
---|
addBeanContextMembershipListener, getResource, getResourceAsStream, instantiateChild, removeBeanContextMembershipListener |
Methods inherited from interface java.beans.beancontext.BeanContextChild |
---|
addPropertyChangeListener, addVetoableChangeListener, getBeanContext, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext |
Methods inherited from interface java.util.Collection |
---|
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray |
Methods inherited from interface java.beans.DesignMode |
---|
isDesignTime, setDesignTime |
Methods inherited from interface java.beans.Visibility |
---|
avoidingGui, dontUseGui, needsGui, okToUseGui |
Field Detail |
---|
protected transient HashMap services
protected transient HashMap services
field should be synchronized on that object
protected transient int serializable
protected transient BeanContextServicesSupport.BCSSProxyServiceProvider proxy
protected transient ArrayList bcsListeners
Constructor Detail |
---|
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()
Method Detail |
---|
public void initialize()
initialize
in class BeanContextSupport
public 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 BeanContextSupport
targetChild
- 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 BeanContextServices
bcsl
- the BeanContextServicesListener
to addpublic void removeBeanContextServicesListener(BeanContextServicesListener bcsl)
removeBeanContextServicesListener
in interface BeanContextServices
bcsl
- the BeanContextServicesListener
to remove from this contextpublic boolean addService(Class serviceClass, BeanContextServiceProvider bcsp)
addService
in interface BeanContextServices
serviceClass
- 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 BeanContextServices
serviceClass
- 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 BeanContextServices
serviceClass
- the service in question
public Object getService(BeanContextChild child, Object requestor, Class serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl) throws TooManyListenersException
getService
in interface BeanContextServices
child
- 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 revoked
null
TooManyListenersException
public void releaseService(BeanContextChild child, Object requestor, Object service)
releaseService
in interface BeanContextServices
child
- the BeanContextChild
requestor
- the requestorservice
- the servicepublic Iterator getCurrentServiceClasses()
BeanContextServices
getCurrentServiceClasses
in interface BeanContextServices
public Iterator getCurrentServiceSelectors(Class serviceClass)
BeanContextServices
getCurrentServiceSelectors
in interface BeanContextServices
serviceClass
- the specified service
public void serviceAvailable(BeanContextServiceAvailableEvent bcssae)
serviceAvailable
in interface BeanContextServicesListener
serviceAvailable
in class BeanContextChildSupport
bcssae
- The BeanContextServiceAvailableEvent fired as a
result of a service becoming availablepublic void serviceRevoked(BeanContextServiceRevokedEvent bcssre)
serviceRevoked
in interface BeanContextServiceRevokedListener
serviceRevoked
in class BeanContextChildSupport
bcssre
- The BeanContextServiceRevokedEvent
fired as a
result of a service being revokedprotected static final BeanContextServicesListener getChildBeanContextServicesListener(Object child)
child
- the specified child
protected void childJustRemovedHook(Object child, BeanContextSupport.BCSChild bcsc)
childJustRemovedHook
in class BeanContextSupport
protected void releaseBeanContextResources()
releaseBeanContextResources
in class BeanContextChildSupport
protected void initializeBeanContextResources()
initializeBeanContextResources
in class BeanContextChildSupport
protected 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 BeanContextSupport
IOException
protected void bcsPreDeserializationHook(ObjectInputStream ois) throws IOException, ClassNotFoundException
bcsPreDeserializationHook
in class BeanContextSupport
IOException
ClassNotFoundException
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.