Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Standard Ed. 5.0
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, Iterable, 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

    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:
    `serviceClass` - the service to add
    `serviceProvider` - the `BeanContextServiceProvider` associated with the service

### revokeService

    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

    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

    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

    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

    Iterator getCurrentServiceClasses()

  Gets the currently available services for this context.

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

### getCurrentServiceSelectors

    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

    void addBeanContextServicesListener(BeanContextServicesListener bcsl)

  Adds a `BeanContextServicesListener` to this BeanContext

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

### removeBeanContextServicesListener

    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 Standard Ed. 5.0
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 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.