public interface BeanContextServices extends BeanContext, BeanContextServicesListener
The BeanContextServices interface provides a mechanism for a BeanContext to expose generic "services" to the BeanContextChild objects within.
globalHierarchyLock
PROPERTYNAME
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, removeBeanContextMembershipListener
addPropertyChangeListener, addVetoableChangeListener, getBeanContext, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext
add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray
isDesignTime, setDesignTime
avoidingGui, dontUseGui, needsGui, okToUseGui
serviceAvailable
serviceRevoked
boolean addService(Class serviceClass, BeanContextServiceProvider serviceProvider)
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
.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 revokednull
TooManyListenersException
- 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 BeanContextChild
requestor
- 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 BeanContext
bcsl
- 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, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.