Class BeanContextServicesSupport

All Implemented Interfaces:
BeanContext, BeanContextChild, BeanContextServiceRevokedListener, BeanContextServices, BeanContextServicesListener, DesignMode, PropertyChangeListener, VetoableChangeListener, Visibility, Serializable, Iterable, Collection, EventListener

@Deprecated(since="23", forRemoval=true) public class BeanContextServicesSupport extends BeanContextSupport implements BeanContextServices
Deprecated, for removal: This API element is subject to removal in a future version.

This helper class provides a utility implementation of the java.beans.beancontext.BeanContextServices interface.

Since this class directly implements the BeanContextServices interface, the class can, and is intended to be used either by subclassing this implementation, or via delegation of an instance of this class from another through the BeanContextProxy interface.

Since:
1.2
See Also:
  • Field Details

    • services

      Deprecated, for removal: This API element is subject to removal in a future version.
      all accesses to the protected transient HashMap services field should be synchronized on that object
    • serializable

      protected transient int serializable
      Deprecated, for removal: This API element is subject to removal in a future version.
      The number of instances of a serializable BeanContextServceProvider.
    • proxy

      Deprecated, for removal: This API element is subject to removal in a future version.
      Delegate for the BeanContextServiceProvider.
    • bcsListeners

      protected transient ArrayList<BeanContextServicesListener> bcsListeners
      Deprecated, for removal: This API element is subject to removal in a future version.
      List of BeanContextServicesListener objects.
  • Constructor Details

    • BeanContextServicesSupport

      public BeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dTime, boolean visible)
      Deprecated, for removal: This API element is subject to removal in a future version.

      Construct a BeanContextServicesSupport instance

      Parameters:
      peer - The peer BeanContext we are supplying an implementation for, if null the this object is its own peer
      lcle - The current Locale for this BeanContext.
      dTime - The initial state, true if in design mode, false if runtime.
      visible - The initial visibility.
    • BeanContextServicesSupport

      public BeanContextServicesSupport(BeanContextServices peer, Locale lcle, boolean dtime)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Create an instance using the specified Locale and design mode.
      Parameters:
      peer - The peer BeanContext we are supplying an implementation for, if null the this object is its own peer
      lcle - The current Locale for this BeanContext.
      dtime - The initial state, true if in design mode, false if runtime.
    • BeanContextServicesSupport

      public BeanContextServicesSupport(BeanContextServices peer, Locale lcle)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Create an instance using the specified locale
      Parameters:
      peer - The peer BeanContext we are supplying an implementation for, if null the this object is its own peer
      lcle - The current Locale for this BeanContext.
    • BeanContextServicesSupport

      public BeanContextServicesSupport(BeanContextServices peer)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Create an instance with a peer
      Parameters:
      peer - The peer BeanContext we are supplying an implementation for, if null the this object is its own peer
    • BeanContextServicesSupport

      public BeanContextServicesSupport()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Create an instance that is not a delegate of another object
  • Method Details

    • initialize

      public void initialize()
      Deprecated, for removal: This API element is subject to removal in a future version.
      called by BeanContextSupport superclass during construction and deserialization to initialize subclass transient state. subclasses may envelope this method, but should not override it or call it directly.
      Overrides:
      initialize in class BeanContextSupport
    • getBeanContextServicesPeer

      public BeanContextServices getBeanContextServicesPeer()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the BeanContextServices associated with this BeanContextServicesSupport.
      Returns:
      the instance of BeanContext this object is providing the implementation for.
    • createBCSChild

      protected BeanContextSupport.BCSChild createBCSChild(Object targetChild, Object peer)
      Deprecated, for removal: This API element is subject to removal in a future version.

      Subclasses can override this method to insert their own subclass of Child without having to override add() or the other Collection methods that add children to the set.

      Overrides:
      createBCSChild in class BeanContextSupport
      Parameters:
      targetChild - the child to create the Child on behalf of
      peer - the peer if the targetChild and peer are related by BeanContextProxy
      Returns:
      Subtype-specific subclass of Child without overriding collection methods
    • createBCSSServiceProvider

      protected BeanContextServicesSupport.BCSSServiceProvider createBCSSServiceProvider(Class<?> sc, BeanContextServiceProvider bcsp)
      Deprecated, for removal: This API element is subject to removal in a future version.
      subclasses can override this method to create new subclasses of BCSSServiceProvider without having to override addService() in order to instantiate.
      Parameters:
      sc - the class
      bcsp - the service provider
      Returns:
      a service provider without overriding addService()
    • addBeanContextServicesListener

      public void addBeanContextServicesListener(BeanContextServicesListener bcsl)
      Deprecated, for removal: This API element is subject to removal in a future version.
      add a BeanContextServicesListener
      Specified by:
      addBeanContextServicesListener in interface BeanContextServices
      Parameters:
      bcsl - the BeanContextServicesListener to add
      Throws:
      NullPointerException - if the argument is null
    • removeBeanContextServicesListener

      public void removeBeanContextServicesListener(BeanContextServicesListener bcsl)
      Deprecated, for removal: This API element is subject to removal in a future version.
      remove a BeanContextServicesListener
      Specified by:
      removeBeanContextServicesListener in interface BeanContextServices
      Parameters:
      bcsl - the BeanContextServicesListener to remove from this context
    • addService

      public boolean addService(Class<?> serviceClass, BeanContextServiceProvider bcsp)
      Deprecated, for removal: This API element is subject to removal in a future version.
      add a service
      Specified by:
      addService in interface BeanContextServices
      Parameters:
      serviceClass - the service class
      bcsp - the service provider
      Returns:
      true if the service was successful added, false otherwise
    • addService

      protected boolean addService(Class<?> serviceClass, BeanContextServiceProvider bcsp, boolean fireEvent)
      Deprecated, for removal: This API element is subject to removal in a future version.
      add a service
      Parameters:
      serviceClass - the service class
      bcsp - the service provider
      fireEvent - whether or not an event should be fired
      Returns:
      true if the service was successfully added
    • revokeService

      public void revokeService(Class<?> serviceClass, BeanContextServiceProvider bcsp, boolean revokeCurrentServicesNow)
      Deprecated, for removal: This API element is subject to removal in a future version.
      remove a service
      Specified by:
      revokeService in interface BeanContextServices
      Parameters:
      serviceClass - the service class
      bcsp - the service provider
      revokeCurrentServicesNow - whether or not to revoke the service
    • hasService

      public boolean hasService(Class<?> serviceClass)
      Deprecated, for removal: This API element is subject to removal in a future version.
      has a service, which may be delegated
      Specified by:
      hasService in interface BeanContextServices
      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
      Deprecated, for removal: This API element is subject to removal in a future version.
      obtain a service which may be delegated
      Specified by:
      getService in interface BeanContextServices
      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 - if there are too many listeners
    • releaseService

      public void releaseService(BeanContextChild child, Object requestor, Object service)
      Deprecated, for removal: This API element is subject to removal in a future version.
      release a service
      Specified by:
      releaseService in interface BeanContextServices
      Parameters:
      child - the BeanContextChild
      requestor - the requestor
      service - the service
    • getCurrentServiceClasses

      public Iterator<Object> getCurrentServiceClasses()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: BeanContextServices
      Gets the currently available services for this context.
      Specified by:
      getCurrentServiceClasses in interface BeanContextServices
      Returns:
      an iterator for all the currently registered service classes.
    • getCurrentServiceSelectors

      public Iterator<?> getCurrentServiceSelectors(Class<?> serviceClass)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Description copied from interface: BeanContextServices
      Gets the list of service dependent service parameters (Service Selectors) for the specified service, by calling getCurrentServiceSelectors() on the underlying BeanContextServiceProvider.
      Specified by:
      getCurrentServiceSelectors in interface BeanContextServices
      Parameters:
      serviceClass - the specified service
      Returns:
      an iterator for all the currently available service selectors (if any) available for the specified service.
    • serviceAvailable

      public void serviceAvailable(BeanContextServiceAvailableEvent bcssae)
      Deprecated, for removal: This API element is subject to removal in a future version.
      BeanContextServicesListener callback, propagates event to all currently registered listeners and BeanContextServices children, if this BeanContextService does not already implement this service itself. subclasses may override or envelope this method to implement their own propagation semantics.
      Specified by:
      serviceAvailable in interface BeanContextServicesListener
      Overrides:
      serviceAvailable in class BeanContextChildSupport
      Parameters:
      bcssae - The BeanContextServiceAvailableEvent fired as a result of a service becoming available
    • serviceRevoked

      public void serviceRevoked(BeanContextServiceRevokedEvent bcssre)
      Deprecated, for removal: This API element is subject to removal in a future version.
      BeanContextServicesListener callback, propagates event to all currently registered listeners and BeanContextServices children, if this BeanContextService does not already implement this service itself. subclasses may override or envelope this method to implement their own propagation semantics.
      Specified by:
      serviceRevoked in interface BeanContextServiceRevokedListener
      Overrides:
      serviceRevoked in class BeanContextChildSupport
      Parameters:
      bcssre - The BeanContextServiceRevokedEvent fired as a result of a service being revoked
    • getChildBeanContextServicesListener

      protected static final BeanContextServicesListener getChildBeanContextServicesListener(Object child)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Gets the BeanContextServicesListener (if any) of the specified child.
      Parameters:
      child - the specified child
      Returns:
      the BeanContextServicesListener (if any) of the specified child
    • childJustRemovedHook

      protected void childJustRemovedHook(Object child, BeanContextSupport.BCSChild bcsc)
      Deprecated, for removal: This API element is subject to removal in a future version.
      called from superclass child removal operations after a child has been successfully removed. called with child synchronized. This subclass uses this hook to immediately revoke any services being used by this child if it is a BeanContextChild. subclasses may envelope this method in order to implement their own child removal side-effects.
      Overrides:
      childJustRemovedHook in class BeanContextSupport
      Parameters:
      child - the child
      bcsc - the BCSChild
    • releaseBeanContextResources

      protected void releaseBeanContextResources()
      Deprecated, for removal: This API element is subject to removal in a future version.
      called from setBeanContext to notify a BeanContextChild to release resources obtained from the nesting BeanContext. This method revokes any services obtained from its parent. subclasses may envelope this method to implement their own semantics.
      Overrides:
      releaseBeanContextResources in class BeanContextChildSupport
    • initializeBeanContextResources

      protected void initializeBeanContextResources()
      Deprecated, for removal: This API element is subject to removal in a future version.
      called from setBeanContext to notify a BeanContextChild to allocate resources obtained from the nesting BeanContext. subclasses may envelope this method to implement their own semantics.
      Overrides:
      initializeBeanContextResources in class BeanContextChildSupport
    • fireServiceAdded

      protected final void fireServiceAdded(Class<?> serviceClass)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Fires a BeanContextServiceEvent notifying of a new service.
      Parameters:
      serviceClass - the service class
    • fireServiceAdded

      protected final void fireServiceAdded(BeanContextServiceAvailableEvent bcssae)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Fires a BeanContextServiceAvailableEvent indicating that a new service has become available.
      Parameters:
      bcssae - the BeanContextServiceAvailableEvent
    • fireServiceRevoked

      protected final void fireServiceRevoked(BeanContextServiceRevokedEvent bcsre)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Fires a BeanContextServiceEvent notifying of a service being revoked.
      Parameters:
      bcsre - the BeanContextServiceRevokedEvent
    • fireServiceRevoked

      protected final void fireServiceRevoked(Class<?> serviceClass, boolean revokeNow)
      Deprecated, for removal: This API element is subject to removal in a future version.
      Fires a BeanContextServiceRevokedEvent indicating that a particular service is no longer available.
      Parameters:
      serviceClass - the service class
      revokeNow - whether or not the event should be revoked now
    • bcsPreSerializationHook

      protected void bcsPreSerializationHook(ObjectOutputStream oos) throws IOException
      Deprecated, for removal: This API element is subject to removal in a future version.
      called from BeanContextSupport writeObject before it serializes the children ... This class will serialize any Serializable BeanContextServiceProviders herein. subclasses may envelope this method to insert their own serialization processing that has to occur prior to serialization of the children
      Overrides:
      bcsPreSerializationHook in class BeanContextSupport
      Parameters:
      oos - the ObjectOutputStream to use during serialization
      Throws:
      IOException - if serialization failed
    • bcsPreDeserializationHook

      protected void bcsPreDeserializationHook(ObjectInputStream ois) throws IOException, ClassNotFoundException
      Deprecated, for removal: This API element is subject to removal in a future version.
      called from BeanContextSupport readObject before it deserializes the children ... This class will deserialize any Serializable BeanContextServiceProviders serialized earlier thus making them available to the children when they deserialized. subclasses may envelope this method to insert their own serialization processing that has to occur prior to serialization of the children
      Overrides:
      bcsPreDeserializationHook in class BeanContextSupport
      Parameters:
      ois - the ObjectInputStream to use during deserialization
      Throws:
      IOException - if deserialization failed
      ClassNotFoundException - if needed classes are not found