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 bcsl)
Adds a
BeanContextServicesListener to this BeanContext |
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
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 BeanContext |
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.
|
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(Class serviceClass, 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 addserviceProvider - the BeanContextServiceProvider
associated with the servicevoid revokeService(Class serviceClass, BeanContextServiceProvider serviceProvider, boolean revokeCurrentServicesNow)
BeanContextServices fires a
BeanContextServiceRevokedEvent to its
list of currently registered
BeanContextServiceRevokedListeners and
BeanContextServicesListeners.serviceClass - the service to revoke from this BeanContextServicesserviceProvider - 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.boolean hasService(Class serviceClass)
serviceClass - the service in questionObject getService(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 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 revokednullTooManyListenersException - if there are too many listenersvoid releaseService(BeanContextChild child, 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 BeanContextChildrequestor - the requestorservice - the serviceIterator getCurrentServiceClasses()
Iterator consisting of the
currently available servicesIterator getCurrentServiceSelectors(Class serviceClass)
serviceClass - the specified servicevoid addBeanContextServicesListener(BeanContextServicesListener bcsl)
BeanContextServicesListener to this BeanContextbcsl - the BeanContextServicesListener to addvoid removeBeanContextServicesListener(BeanContextServicesListener bcsl)
BeanContextServicesListener
from this BeanContextbcsl - the BeanContextServicesListener
to remove from this context 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, 2016, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.