Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.beans.beancontext
Interface BeanContextServices

All Superinterfaces:
  BeanContext, BeanContextChild, BeanContextServiceRevokedListener, BeanContextServicesListener, Collection, DesignMode, EventListener, Visibility

All 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.

Field Summary

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

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.util.Collection
`add, addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray`

Methods inherited from interface java.beans.DesignMode
`isDesignTime, setDesignTime`

Methods inherited from interface java.beans.Visibility
`avoidingGui, dontUseGui, needsGui, okToUseGui`

Methods inherited from interface java.beans.beancontext.BeanContextServicesListener
`serviceAvailable`

Methods inherited from interface java.beans.beancontext.BeanContextServiceRevokedListener
`serviceRevoked`

Method Detail

### addService

    public boolean addService(Class serviceClass,
                              BeanContextServiceProvider serviceProvider)

  Adds a service to this BeanContext. `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`.

  Parameters:
    `serviceProvider` - the `BeanContextServiceProvider` associated with the service

### revokeService

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

### hasService

    public 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

### getService

    public Object getService(BeanContextChild child,
                             Object requestor,
                             Class 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`
  Throws:
    `TooManyListenersException`

### 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

### getCurrentServiceClasses

    public Iterator getCurrentServiceClasses()

  Gets the currently available services for this context.

  Returns:
    an `Iterator` consisting of the currently available services

### getCurrentServiceSelectors

    public 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

### addBeanContextServicesListener

    public void addBeanContextServicesListener(BeanContextServicesListener bcsl)

  Adds a `BeanContextServicesListener` to this BeanContext

  Parameters:
    `bcsl` - the `BeanContextServicesListener` to add

### removeBeanContextServicesListener

    public void removeBeanContextServicesListener(BeanContextServicesListener bcsl)

  Removes a `BeanContextServicesListener` from this `BeanContext`

  Parameters:
    `bcsl` - the `BeanContextServicesListener` to remove from this context

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2002 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.