Package org.jclouds.osgi
Class MetadataBundleListener
java.lang.Object
org.jclouds.osgi.MetadataBundleListener
- All Implemented Interfaces:
 EventListener,org.osgi.framework.BundleListener
A 
BundleListener that listens for BundleEvent and searches for
 ProviderMetadata and ApiMetadata in newly installed Bundles.
 This is used as a workaround for OSGi environments where the ServiceLoader cannot cross bundle boundaries.- 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionvoidaddApiListenerListener(ApiListener listener) Adds aApiListenerand notifies it of existingApiMetadata.voidaddProviderListener(ProviderListener listener) Adds aProviderListenerand notifies it of existingProviderMetadata.voidbundleChanged(org.osgi.framework.BundleEvent event) listApiMetadata(org.osgi.framework.Bundle bundle) Creates an instance ofApiMetadatafrom theBundle.listProviderMetadata(org.osgi.framework.Bundle bundle) Creates an instance ofProviderMetadatafrom theBundle.voidremoveApiListenerListener(ApiListener listener) Removes theApiListenervoidremoveProviderListener(ProviderListener listener) Removes theProviderListenervoidstart(org.osgi.framework.BundleContext bundleContext) Starts the listener.voidstop(org.osgi.framework.BundleContext bundleContext) Stops the listener. 
- 
Constructor Details
- 
MetadataBundleListener
public MetadataBundleListener() 
 - 
 - 
Method Details
- 
start
public void start(org.osgi.framework.BundleContext bundleContext) Starts the listener. Checks the bundles that are already active and registersProviderMetadataandApiMetadatafound. Registers the itself as aBundleListener.- Parameters:
 bundleContext-
 - 
stop
public void stop(org.osgi.framework.BundleContext bundleContext) Stops the listener. Removes itself from theBundleListeners. Clears metadata maps and listeners lists.- Parameters:
 bundleContext-
 - 
bundleChanged
public void bundleChanged(org.osgi.framework.BundleEvent event) - Specified by:
 bundleChangedin interfaceorg.osgi.framework.BundleListener
 - 
listProviderMetadata
Creates an instance ofProviderMetadatafrom theBundle.- Parameters:
 bundle-- Returns:
 
 - 
listApiMetadata
Creates an instance ofApiMetadatafrom theBundle.- Parameters:
 bundle-- Returns:
 
 - 
addProviderListener
Adds aProviderListenerand notifies it of existingProviderMetadata.- Parameters:
 listener- The listener.
 - 
removeProviderListener
Removes theProviderListener- Parameters:
 listener- The listener
 - 
addApiListenerListener
Adds aApiListenerand notifies it of existingApiMetadata.- Parameters:
 listener-
 - 
removeApiListenerListener
Removes theApiListener- Parameters:
 listener-
 
 -