java.beans.beancontext

Interface BeanContextServices

All Superinterfaces:
BeanContext, BeanContextChild, BeanContextServiceRevokedListener, BeanContextServicesListener, Collection<E>, DesignMode, EventListener, Iterable<T>, Visibility
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.

Fields inherited from interface java.beans.beancontext.BeanContext

globalHierarchyLock

Fields inherited from interface java.beans.DesignMode

PROPERTYNAME

Method Summary

void
addBeanContextServicesListener(BeanContextServicesListener bcsl)
Adds a BeanContextServicesListener to this BeanContext
boolean
addService(Class<T> serviceClass, BeanContextServiceProvider serviceProvider)
Adds a service to this BeanContext.
Iterator<E>
getCurrentServiceClasses()
Gets the currently available services for this context.
Iterator<E>
getCurrentServiceSelectors(Class<T> 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<T> 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<T> 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<T> 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 inherited from interface java.beans.beancontext.BeanContext

addBeanContextMembershipListener, getResource, getResourceAsStream, instantiateChild, removeBeanContextMembershipListener

Methods inherited from interface java.beans.beancontext.BeanContextChild

addPropertyChangeListener, addVetoableChangeListener, getBeanContext, removePropertyChangeListener, removeVetoableChangeListener, setBeanContext

Methods inherited from interface java.beans.beancontext.BeanContextServiceRevokedListener

serviceRevoked

Methods inherited from interface java.beans.beancontext.BeanContextServicesListener

serviceAvailable

Methods inherited from interface java.util.Collection<E>

T[] toArray, add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray

Methods inherited from interface java.beans.DesignMode

isDesignTime, setDesignTime

Methods inherited from interface java.lang.Iterable<T>

iterator

Methods inherited from interface java.beans.Visibility

avoidingGui, dontUseGui, needsGui, okToUseGui

Method Details

addBeanContextServicesListener

public void addBeanContextServicesListener(BeanContextServicesListener bcsl)
Adds a BeanContextServicesListener to this BeanContext
Parameters:
bcsl - the BeanContextServicesListener to add
Usages and Demos :

View More Examples of addBeanContextServicesListener(BeanContextServicesListener bcsl)
   1: 
   2:         BeanContextServices serviceSource, BeanContextServicesListener listener, boolean fireUp )
   3:     {
   4:         ...
   5:         {
   6:             serviceSource.addBeanContextServicesListener( listener );
   7:         }
   8:         ...
   9: 
  10:         BeanContextServicesListener listener, BeanContextServices serviceSource )
  11:     {
  12:         ...
  13:         Iterator serviceIterator, BeanContextServicesListener listener,
  14:         BeanContextServices serviceSource

View Full Code Here

addService

public boolean addService(Class<T> serviceClass,
                          BeanContextServiceProvider serviceProvider)
Adds a service to this BeanContext. 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.
Parameters:
serviceClass - the service to add
serviceProvider - the BeanContextServiceProvider associated with the service

getCurrentServiceClasses

public Iterator<E> getCurrentServiceClasses()
Gets the currently available services for this context.
Returns:
an Iterator consisting of the currently available services
Usages and Demos :

View More Examples of getCurrentServiceClasses()
   1: 
   2:         BeanContextServices serviceSource, BeanContextServicesListener listener, boolean fireUp )
   3:     {
   4:         ...
   5: 
   6:         BeanContextServicesListener listener, BeanContextServices serviceSource )
   7:     {
   8:         ...
   9:         fireUp( serviceSource.getCurrentServiceClasses(), listener, serviceSource );
  10:     }
  11:         ...
  12:         Iterator serviceIterator, BeanContextServicesListener listener,
  13:         BeanContextServices serviceSource

View Full Code Here
   1: import java.beans.beancontext.BeanContextServiceProvider;
   2: import java.beans.beancontext.BeanContextServices;
   3: import java.beans.beancontext.BeanContextChild;
   4:         ...
   5:         BeanContext bc = getBeanContext();
   6:         if (bc == null || !(bc instanceof BeanContextServices))
   7:             return null;
   8:         ...
   9:         {
  10:             return  (T)((BeanContextServices)bc).getService(this, _bean, serviceClass, selector, this);
  11:         }
  12:         ...
  13:         {
  14:             Iterator iter = bcs.getCurrentServiceClasses();

View Full Code Here

getCurrentServiceSelectors

public Iterator<E> getCurrentServiceSelectors(Class<T> 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

getService

public Object getService(BeanContextChild child,
                         Object requestor,
                         Class<T> 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 - 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
Returns:
a reference to this context's named Service as requested or null

hasService

public boolean hasService(Class<T> 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

releaseService

public 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 - the BeanContextChild
requestor - the requestor
service - the service

removeBeanContextServicesListener

public void removeBeanContextServicesListener(BeanContextServicesListener bcsl)
Removes a BeanContextServicesListener from this BeanContext
Parameters:
bcsl - the BeanContextServicesListener to remove from this context

revokeService

public void revokeService(Class<T> 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 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.