Interface BeanContextServices
- All Superinterfaces:
-
BeanContext
,BeanContextChild
,BeanContextServiceRevokedListener
,BeanContextServicesListener
,Collection
,DesignMode
,EventListener
,Iterable
,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 declared in interface java.beans.beancontext.BeanContext
globalHierarchyLock
Fields declared in interface java.beans.DesignMode
PROPERTYNAME
Method Summary
Modifier and Type | Method | Description |
---|---|---|
void | addBeanContextServicesListener(BeanContextServicesListener bcsl) | Adds a |
boolean | 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 |
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 |
void | removeBeanContextServicesListener(BeanContextServicesListener bcsl) | Removes a |
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. |
Methods declared in interface java.beans.beancontext.BeanContext
addBeanContextMembershipListener, getResource, getResourceAsStream, instantiateChild, removeBeanContextMembershipListener
Methods declared in interface java.beans.beancontext.BeanContextChild
addPropertyChangeListener, addVetoableChangeListener, getBeanContext, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext
Methods declared in interface java.beans.beancontext.BeanContextServiceRevokedListener
serviceRevoked
Methods declared in interface java.beans.beancontext.BeanContextServicesListener
serviceAvailable
Methods declared in interface java.util.Collection
add, 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.DesignMode
isDesignTime, setDesignTime
Methods declared in interface java.lang.Iterable
forEach
Methods declared in interface java.beans.Visibility
avoidingGui, dontUseGui, needsGui, okToUseGui
Method Detail
addService
boolean addService(Class<?> serviceClass, BeanContextServiceProvider serviceProvider)
Adds a service to this BeanContext. BeanContextServiceProvider
s 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:
-
serviceClass
- the service to add -
serviceProvider
- theBeanContextServiceProvider
associated with the service - Returns:
- true if the service was successful added, false otherwise
revokeService
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 oftrue
indicates an exceptional circumstance where theBeanContextServiceProvider
orBeanContextServices
wishes to immediately terminate service to all currently outstanding references to the specified service.
hasService
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
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
- theBeanContextChild
associated with this request -
requestor
- the object requesting the service -
serviceClass
- class of the requested service -
serviceSelector
- the service dependent parameter -
bcsrl
- theBeanContextServiceRevokedListener
to 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
releaseService
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
- theBeanContextChild
-
requestor
- the requestor -
service
- the service
getCurrentServiceClasses
Iterator<?> getCurrentServiceClasses()
Gets the currently available services for this context.
- Returns:
- an
Iterator
consisting of the currently available services
getCurrentServiceSelectors
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
void addBeanContextServicesListener(BeanContextServicesListener bcsl)
Adds a BeanContextServicesListener
to this BeanContext
- Parameters:
-
bcsl
- theBeanContextServicesListener
to add
removeBeanContextServicesListener
void removeBeanContextServicesListener(BeanContextServicesListener bcsl)
Removes a BeanContextServicesListener
from this BeanContext
- Parameters:
-
bcsl
- theBeanContextServicesListener
to remove from this context