BeanContextServices (Java Platform SE 7 ) (original) (raw)
- 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](../../../java/beans/beancontext/BeanContext.html "interface in java.beans.beancontext") `[globalHierarchyLock](../../../java/beans/beancontext/BeanContext.html#globalHierarchyLock)` * ### Fields inherited from interface java.beans.[DesignMode](../../../java/beans/DesignMode.html "interface in java.beans") `[PROPERTYNAME](../../../java/beans/DesignMode.html#PROPERTYNAME)`
Method Summary
Methods
Modifier and Type Method and Description 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](../../../java/beans/beancontext/BeanContext.html "interface in java.beans.beancontext") `[addBeanContextMembershipListener](../../../java/beans/beancontext/BeanContext.html#addBeanContextMembershipListener%28java.beans.beancontext.BeanContextMembershipListener%29), [getResource](../../../java/beans/beancontext/BeanContext.html#getResource%28java.lang.String,%20java.beans.beancontext.BeanContextChild%29), [getResourceAsStream](../../../java/beans/beancontext/BeanContext.html#getResourceAsStream%28java.lang.String,%20java.beans.beancontext.BeanContextChild%29), [instantiateChild](../../../java/beans/beancontext/BeanContext.html#instantiateChild%28java.lang.String%29), [removeBeanContextMembershipListener](../../../java/beans/beancontext/BeanContext.html#removeBeanContextMembershipListener%28java.beans.beancontext.BeanContextMembershipListener%29)` * ### Methods inherited from interface java.beans.beancontext.[BeanContextChild](../../../java/beans/beancontext/BeanContextChild.html "interface in java.beans.beancontext") `[addPropertyChangeListener](../../../java/beans/beancontext/BeanContextChild.html#addPropertyChangeListener%28java.lang.String,%20java.beans.PropertyChangeListener%29), [addVetoableChangeListener](../../../java/beans/beancontext/BeanContextChild.html#addVetoableChangeListener%28java.lang.String,%20java.beans.VetoableChangeListener%29), [getBeanContext](../../../java/beans/beancontext/BeanContextChild.html#getBeanContext%28%29), [removePropertyChangeListener](../../../java/beans/beancontext/BeanContextChild.html#removePropertyChangeListener%28java.lang.String,%20java.beans.PropertyChangeListener%29), [removeVetoableChangeListener](../../../java/beans/beancontext/BeanContextChild.html#removeVetoableChangeListener%28java.lang.String,%20java.beans.VetoableChangeListener%29), [setBeanContext](../../../java/beans/beancontext/BeanContextChild.html#setBeanContext%28java.beans.beancontext.BeanContext%29)` * ### Methods inherited from interface java.util.[Collection](../../../java/util/Collection.html "interface in java.util") `[add](../../../java/util/Collection.html#add%28E%29), [addAll](../../../java/util/Collection.html#addAll%28java.util.Collection%29), [clear](../../../java/util/Collection.html#clear%28%29), [contains](../../../java/util/Collection.html#contains%28java.lang.Object%29), [containsAll](../../../java/util/Collection.html#containsAll%28java.util.Collection%29), [equals](../../../java/util/Collection.html#equals%28java.lang.Object%29), [hashCode](../../../java/util/Collection.html#hashCode%28%29), [isEmpty](../../../java/util/Collection.html#isEmpty%28%29), [iterator](../../../java/util/Collection.html#iterator%28%29), [remove](../../../java/util/Collection.html#remove%28java.lang.Object%29), [removeAll](../../../java/util/Collection.html#removeAll%28java.util.Collection%29), [retainAll](../../../java/util/Collection.html#retainAll%28java.util.Collection%29), [size](../../../java/util/Collection.html#size%28%29), [toArray](../../../java/util/Collection.html#toArray%28%29), [toArray](../../../java/util/Collection.html#toArray%28T[]%29)` * ### Methods inherited from interface java.beans.[DesignMode](../../../java/beans/DesignMode.html "interface in java.beans") `[isDesignTime](../../../java/beans/DesignMode.html#isDesignTime%28%29), [setDesignTime](../../../java/beans/DesignMode.html#setDesignTime%28boolean%29)` * ### Methods inherited from interface java.beans.[Visibility](../../../java/beans/Visibility.html "interface in java.beans") `[avoidingGui](../../../java/beans/Visibility.html#avoidingGui%28%29), [dontUseGui](../../../java/beans/Visibility.html#dontUseGui%28%29), [needsGui](../../../java/beans/Visibility.html#needsGui%28%29), [okToUseGui](../../../java/beans/Visibility.html#okToUseGui%28%29)` * ### Methods inherited from interface java.beans.beancontext.[BeanContextServicesListener](../../../java/beans/beancontext/BeanContextServicesListener.html "interface in java.beans.beancontext") `[serviceAvailable](../../../java/beans/beancontext/BeanContextServicesListener.html#serviceAvailable%28java.beans.beancontext.BeanContextServiceAvailableEvent%29)` * ### Methods inherited from interface java.beans.beancontext.[BeanContextServiceRevokedListener](../../../java/beans/beancontext/BeanContextServiceRevokedListener.html "interface in java.beans.beancontext") `[serviceRevoked](../../../java/beans/beancontext/BeanContextServiceRevokedListener.html#serviceRevoked%28java.beans.beancontext.BeanContextServiceRevokedEvent%29)`
Method Detail
* #### addService boolean addService([Class](../../../java/lang/Class.html "class in java.lang") serviceClass, [BeanContextServiceProvider](../../../java/beans/beancontext/BeanContextServiceProvider.html "interface in java.beans.beancontext") 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](../../../java/lang/Class.html "class in java.lang") serviceClass, [BeanContextServiceProvider](../../../java/beans/beancontext/BeanContextServiceProvider.html "interface in java.beans.beancontext") 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](../../../java/lang/Class.html "class in java.lang") 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](../../../java/lang/Object.html "class in java.lang") getService([BeanContextChild](../../../java/beans/beancontext/BeanContextChild.html "interface in java.beans.beancontext") child, [Object](../../../java/lang/Object.html "class in java.lang") requestor, [Class](../../../java/lang/Class.html "class in java.lang") serviceClass, [Object](../../../java/lang/Object.html "class in java.lang") serviceSelector, [BeanContextServiceRevokedListener](../../../java/beans/beancontext/BeanContextServiceRevokedListener.html "interface in java.beans.beancontext") bcsrl) throws [TooManyListenersException](../../../java/util/TooManyListenersException.html "class in java.util") 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](../../../java/util/TooManyListenersException.html "class in java.util")` * #### releaseService void releaseService([BeanContextChild](../../../java/beans/beancontext/BeanContextChild.html "interface in java.beans.beancontext") child, [Object](../../../java/lang/Object.html "class in java.lang") requestor, [Object](../../../java/lang/Object.html "class in java.lang") 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](../../../java/util/Iterator.html "interface in java.util") getCurrentServiceClasses() Gets the currently available services for this context. Returns: an `Iterator` consisting of the currently available services * #### getCurrentServiceSelectors [Iterator](../../../java/util/Iterator.html "interface in java.util") getCurrentServiceSelectors([Class](../../../java/lang/Class.html "class in java.lang") 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](../../../java/beans/beancontext/BeanContextServicesListener.html "interface in java.beans.beancontext") bcsl) Adds a `BeanContextServicesListener` to this BeanContext Parameters: `bcsl` \- the `BeanContextServicesListener` to add * #### removeBeanContextServicesListener void removeBeanContextServicesListener([BeanContextServicesListener](../../../java/beans/beancontext/BeanContextServicesListener.html "interface in java.beans.beancontext") bcsl) Removes a `BeanContextServicesListener` from this `BeanContext` Parameters: `bcsl` \- 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, 2020, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.