org.eclipse.gemini.blueprint.io.internal.resolver
Class PackageAdminResolver

java.lang.Object
  extended by org.eclipse.gemini.blueprint.io.internal.resolver.PackageAdminResolver
All Implemented Interfaces:
DependencyResolver

public class PackageAdminResolver
extends Object
implements DependencyResolver

PackageAdmin based dependency resolver.

This implementation uses the OSGi PackageAdmin service to determine dependencies between bundles. Since it's highly dependent on an external service, it might be better to use a listener based implementation for poor performing environments.

This implementation does consider required bundles.

Author:
Costin Leau

Constructor Summary
PackageAdminResolver(org.osgi.framework.BundleContext bundleContext)
           
 
Method Summary
 ImportedBundle[] getImportedBundles(org.osgi.framework.Bundle bundle)
          Returns the bundles imported by the given bundle.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PackageAdminResolver

public PackageAdminResolver(org.osgi.framework.BundleContext bundleContext)
Method Detail

getImportedBundles

public ImportedBundle[] getImportedBundles(org.osgi.framework.Bundle bundle)
Description copied from interface: DependencyResolver
Returns the bundles imported by the given bundle. It's up to the implementation to consider required bundles, bundle class-path and dynamic imports.

The returned array should not contain duplicates (each imported bundle should be present exactly once).

In general it is not expected to have knowledge about runtime loading (such as dynamic imports).

Specified by:
getImportedBundles in interface DependencyResolver
Parameters:
bundle - OSGi bundle for which imported bundles will be determined
Returns:
a not-null array of importing bundles


Copyright © 2006-2012. All Rights Reserved.