org.eclipse.gemini.blueprint.service.dependency.internal
Class DefaultMandatoryDependencyManager

java.lang.Object
  extended by org.eclipse.gemini.blueprint.service.dependency.internal.DefaultMandatoryDependencyManager
All Implemented Interfaces:
MandatoryServiceDependencyManager, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.DisposableBean

public class DefaultMandatoryDependencyManager
extends Object
implements MandatoryServiceDependencyManager, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.DisposableBean

Default implementation of MandatoryServiceDependencyManager which determines the relationship between importers and exporters and unpublishes exported service if they dependent, transitively, on imported OSGi services that are mandatory and cannot be satisfied. Note: aimed for singleton beans only

Author:
Costin Leau

Constructor Summary
DefaultMandatoryDependencyManager()
           
 
Method Summary
 void addServiceExporter(Object exporter, String exporterBeanName)
           
 void destroy()
           
protected  void discoverDependentImporterFor(String exporterBeanName, Object exporter)
          Discover all the importers for the given exporter.
 void removeServiceExporter(Object bean, String beanName)
           
 void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultMandatoryDependencyManager

public DefaultMandatoryDependencyManager()
Method Detail

addServiceExporter

public void addServiceExporter(Object exporter,
                               String exporterBeanName)
Specified by:
addServiceExporter in interface MandatoryServiceDependencyManager

discoverDependentImporterFor

protected void discoverDependentImporterFor(String exporterBeanName,
                                            Object exporter)
Discover all the importers for the given exporter. Since the importers are already created before the exporter instance is created, this method only does filtering based on the mandatory imports.


removeServiceExporter

public void removeServiceExporter(Object bean,
                                  String beanName)
Specified by:
removeServiceExporter in interface MandatoryServiceDependencyManager

setBeanFactory

public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
                    throws org.springframework.beans.BeansException
Specified by:
setBeanFactory in interface org.springframework.beans.factory.BeanFactoryAware
Throws:
org.springframework.beans.BeansException

destroy

public void destroy()
Specified by:
destroy in interface org.springframework.beans.factory.DisposableBean


Copyright © 2006-2013. All Rights Reserved.