java.beans.beancontext
Interface BeanContextServices
- All Superinterfaces:
- BeanContext, BeanContextChild, BeanContextServiceRevokedListener, BeanContextServicesListener, Collection, DesignMode, EventListener, Visibility
All Known Implementing Classes
- BeanContextServicesSupport
- public interface BeanContextServices
- extends BeanContext, BeanContextServicesListener
The BeanContextServices interface provides a mechanism for a BeanContext to expose generic "services" to the BeanContextChild objects within.
Field Summary
Fields inherited from interface java.beans.beancontext.BeanContext globalHierarchyLock
Fields inherited from interface java.beans.DesignMode PROPERTYNAME
Method Summary
void addBeanContextServicesListener(BeanContextServicesListener bcsl)
Adds a BeanContextServicesListener to this BeanContextboolean addService(Class serviceClass, BeanContextServiceProvider serviceProvider)
Adds a service to this BeanContext.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)
A BeanContextChild, or any arbitrary object associated with a BeanContextChild, may obtain a reference to a currently registered service from its nesting BeanContextServices via invocation of this method.boolean hasService(Class serviceClass)
Reports whether or not a given service is currently available from this context.void releaseService(BeanContextChild child, Object requestor, Object service)
Releases a BeanContextChild's (or any arbitrary object associated with a BeanContextChild) reference to the specified service by calling releaseService() on the underlying BeanContextServiceProvider.void removeBeanContextServicesListener(BeanContextServicesListener bcsl)
Removes a BeanContextServicesListener from this BeanContextvoid revokeService(Class serviceClass, BeanContextServiceProvider serviceProvider, boolean revokeCurrentServicesNow)
BeanContextServiceProviders wishing to remove a currently registered service from this context may do so via invocation of this method.
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
Methods inherited from interface java.beans.beancontext.BeanContextServicesListener serviceAvailable
Methods inherited from interface java.beans.beancontext.BeanContextServiceRevokedListener serviceRevoked
Method Detail
addService
public boolean addService(Class serviceClass, BeanContextServiceProvider serviceProvider)
- Adds a service to this BeanContext. BeanContextServiceProviders call this method to register a particular service with this context. If the service has not previously been added, the BeanContextServices associates the service with the BeanContextServiceProvider and fires a BeanContextServiceAvailableEvent to all currently registered BeanContextServicesListeners. The method then returns true, indicating that the addition of the service was successful. If the given service has already been added, this method simply returns false.
- Parameters:
- serviceProvider - the BeanContextServiceProvider associated with the service
revokeService
public void revokeService(Class serviceClass, BeanContextServiceProvider serviceProvider, boolean revokeCurrentServicesNow)
- BeanContextServiceProviders wishing to remove a currently registered service from this context may do so via invocation of this method. Upon revocation of the service, the BeanContextServices fires a BeanContextServiceRevokedEvent to its list of currently registered BeanContextServiceRevokedListeners and BeanContextServicesListeners.
- Parameters:
- serviceClass - the service to revoke from this BeanContextServices
- serviceProvider - the BeanContextServiceProvider associated with this particular service that is being revoked
- revokeCurrentServicesNow - 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.
hasService
public boolean hasService(Class serviceClass)
- Reports whether or not a given service is currently available from this context.
- Parameters:
- serviceClass - the service in question
- Returns:
- true if the service is available
getService
public Object getService(BeanContextChild child, Object requestor, Class serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl) throws TooManyListenersException
- A BeanContextChild, or any arbitrary object associated with a BeanContextChild, may obtain a reference to a currently registered service from its nesting BeanContextServices via invocation of this method. When invoked, this method gets the service by calling the getService() method on the underlying BeanContextServiceProvider.
- Parameters:
- child - the BeanContextChild associated with this request
- requestor - the object requesting the service
- serviceClass - class of the requested service
- serviceSelector - the service dependent parameter
- bcsrl - the BeanContextServiceRevokedListener to notify if the service should later become revoked
- Returns:
- a reference to this context's named Service as requested or null
- Throws:
- TooManyListenersException
releaseService
public void releaseService(BeanContextChild child, Object requestor, Object service)
- Releases a BeanContextChild's (or any arbitrary object associated with a BeanContextChild) reference to the specified service by calling releaseService() on the underlying BeanContextServiceProvider.
- Parameters:
- child - the BeanContextChild
- requestor - the requestor
- service - the service
getCurrentServiceClasses
public Iterator getCurrentServiceClasses()
- Gets the currently available services for this context.
- Returns:
- an Iterator consisting of the currently available services
getCurrentServiceSelectors
public 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.
- Parameters:
- serviceClass - the specified service
- Returns:
- the currently available service selectors for the named serviceClass
addBeanContextServicesListener
public void addBeanContextServicesListener(BeanContextServicesListener bcsl)
- Adds a BeanContextServicesListener to this BeanContext
- Parameters:
- bcsl - the BeanContextServicesListener to add
removeBeanContextServicesListener
public void removeBeanContextServicesListener(BeanContextServicesListener bcsl)
- Removes a BeanContextServicesListener from this BeanContext
- Parameters:
- bcsl - the BeanContextServicesListener to remove from this context