public interface BeanContextServices extends BeanContext, BeanContextServicesListener
The BeanContextServices interface provides a mechanism for a BeanContext to expose generic "services" to the BeanContextChild objects within.
globalHierarchyLockPROPERTYNAME| Modifier and Type | Method and Description |
|---|---|
void |
addBeanContextServicesListener(BeanContextServicesListener
Adds a
BeanContextServicesListener to this BeanContext
|
boolean |
addService(Class
Adds a service to this BeanContext.
|
Iterator |
getCurrentServiceClasses()
Gets the currently available services for this context.
|
Iterator |
getCurrentServiceSelectors(Class
Gets the list of service dependent service parameters (Service Selectors) for the specified service, by calling getCurrentServiceSelectors() on the underlying BeanContextServiceProvider.
|
Object |
getService(BeanContextChild
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
Reports whether or not a given service is currently available from this context.
|
void |
releaseService(BeanContextChild
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
Removes a
BeanContextServicesListener from this
BeanContext
|
void |
revokeService(Class
BeanContextServiceProviders wishing to remove a currently registered service from this context may do so via invocation of this method.
|
addBeanContextMembershipListener, getResource, getResourceAsStream, instantiateChild, removeBeanContextMembershipListeneraddPropertyChangeListener, addVetoableChangeListener, getBeanContext, removePropertyChangeListener, removeVetoableChangeListener, setBeanContextadd, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArrayisDesignTime, setDesignTimeavoidingGui, dontUseGui, needsGui, okToUseGuiserviceAvailableserviceRevokedboolean addService(ClassserviceClass, BeanContextServiceProvider serviceProvider)
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.
serviceClass - the service to add
serviceProvider - the
BeanContextServiceProvider associated with the service
void revokeService(ClassserviceClass, BeanContextServiceProvider serviceProvider, boolean revokeCurrentServicesNow)
BeanContextServices fires a
BeanContextServiceRevokedEvent to its list of currently registered
BeanContextServiceRevokedListeners and
BeanContextServicesListeners.
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.
boolean hasService(ClassserviceClass)
serviceClass - the service in question
ObjectgetService(BeanContextChild child, Object requestor, Class serviceClass, Object serviceSelector, BeanContextServiceRevokedListener bcsrl) throws TooManyListenersException
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.
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
null
TooManyListenersException - if there are too many listeners
void releaseService(BeanContextChildchild, Object requestor, Object service)
BeanContextChild's (or any arbitrary object associated with a BeanContextChild) reference to the specified service by calling releaseService() on the underlying
BeanContextServiceProvider.
child - the
BeanContextChild
requestor - the requestor
service - the service
IteratorgetCurrentServiceClasses()
Iterator consisting of the currently available services
IteratorgetCurrentServiceSelectors(Class serviceClass)
serviceClass - the specified service
void addBeanContextServicesListener(BeanContextServicesListenerbcsl)
BeanContextServicesListener to this BeanContext
bcsl - the
BeanContextServicesListener to add
void removeBeanContextServicesListener(BeanContextServicesListenerbcsl)
BeanContextServicesListener from this
BeanContext
bcsl - the
BeanContextServicesListener to remove from this context