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  BeanContextServicesListenerto 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 aBeanContextChild, may obtain
 a reference to a currently registered service from its
 nestingBeanContextServicesvia 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 underlyingBeanContextServiceProvider. | 
| void | removeBeanContextServicesListener(BeanContextServicesListener bcsl)Removes a  BeanContextServicesListenerfrom thisBeanContext | 
| 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, remove, removeAll, retainAll, size, 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 revokednullTooManyListenersExceptionvoid 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, 2014, Oracle and/or its affiliates.  All rights reserved.