public interface

BeanContextServices

implements BeanContext BeanContextServicesListener
java.beans.beancontext.BeanContextServices
Known Indirect Subclasses

Class Overview

The BeanContextServices interface provides a mechanism for a BeanContext to expose generic "services" to the BeanContextChild objects within.

Summary

[Expand]
Inherited Constants
From interface java.beans.DesignMode
[Expand]
Inherited Fields
From interface java.beans.beancontext.BeanContext
Public Methods
abstract void addBeanContextServicesListener(BeanContextServicesListener bcsl)
Adds a BeanContextServicesListener to this BeanContext
abstract boolean addService(Class serviceClass, BeanContextServiceProvider serviceProvider)
Adds a service to this BeanContext.
abstract Iterator getCurrentServiceClasses()
Gets the currently available services for this context.
abstract 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.
abstract 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.
abstract boolean hasService(Class serviceClass)
Reports whether or not a given service is currently available from this context.
abstract 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.
abstract void removeBeanContextServicesListener(BeanContextServicesListener bcsl)
Removes a BeanContextServicesListener from this BeanContext
abstract 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.
[Expand]
Inherited Methods
From interface java.beans.DesignMode
From interface java.beans.Visibility
From interface java.beans.beancontext.BeanContext
From interface java.beans.beancontext.BeanContextChild
From interface java.beans.beancontext.BeanContextServiceRevokedListener
From interface java.beans.beancontext.BeanContextServicesListener
From interface java.lang.Iterable
From interface java.util.Collection

Public Methods

public abstract void addBeanContextServicesListener (BeanContextServicesListener bcsl)

Adds a BeanContextServicesListener to this BeanContext

Parameters
bcsl the BeanContextServicesListener to add

public abstract boolean addService (Class 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

public abstract Iterator getCurrentServiceClasses ()

Gets the currently available services for this context.

Returns
  • an Iterator consisting of the currently available services

public abstract 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

public abstract 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. 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
Throws
TooManyListenersException
TooManyListenersException

public abstract 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

public abstract 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

public abstract void removeBeanContextServicesListener (BeanContextServicesListener bcsl)

Removes a BeanContextServicesListener from this BeanContext

Parameters
bcsl the BeanContextServicesListener to remove from this context

public abstract 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 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.