com.atlassian.plugin.osgi.container
Interface OsgiContainerManager

All Known Implementing Classes:
FelixOsgiContainerManager

public interface OsgiContainerManager

Manages the OSGi container and handles any interactions with it


Method Summary
 org.osgi.framework.Bundle[] getBundles()
          Gets a list of installed bundles
 java.util.List<HostComponentRegistration> getHostComponentRegistrations()
          Gets a list of host component registrations
 org.osgi.framework.ServiceReference[] getRegisteredServices()
          Gets a list of service references
 org.osgi.util.tracker.ServiceTracker getServiceTracker(java.lang.String interfaceClassName)
          Gets a service tracker to follow a service registered under a certain interface.
 org.osgi.util.tracker.ServiceTracker getServiceTracker(java.lang.String interfaceClassName, org.osgi.util.tracker.ServiceTrackerCustomizer serviceTrackerCustomizer)
          Gets a service tracker to follow a service registered under a certain interface with a ServiceTrackerCustomizer attached for customizing tracked service objects.
 org.osgi.framework.Bundle installBundle(java.io.File file)
          Installs a bundle into a running OSGI container
 boolean isRunning()
           
 void start()
          Starts the OSGi container
 void stop()
          Stops the OSGi container
 

Method Detail

start

void start()
           throws OsgiContainerException
Starts the OSGi container

Throws:
OsgiContainerException - If the container cannot be started

stop

void stop()
          throws OsgiContainerException
Stops the OSGi container

Throws:
OsgiContainerException - If the container cannot be stopped

installBundle

org.osgi.framework.Bundle installBundle(java.io.File file)
                                        throws OsgiContainerException
Installs a bundle into a running OSGI container

Parameters:
file - The bundle file to install
Returns:
The created bundle
Throws:
OsgiContainerException - If the bundle cannot be loaded

isRunning

boolean isRunning()
Returns:
If the container is running or not

getBundles

org.osgi.framework.Bundle[] getBundles()
Gets a list of installed bundles

Returns:
An array of bundles

getRegisteredServices

org.osgi.framework.ServiceReference[] getRegisteredServices()
Gets a list of service references

Returns:
An array of service references

getHostComponentRegistrations

java.util.List<HostComponentRegistration> getHostComponentRegistrations()
Gets a list of host component registrations

Returns:
A list of host component registrations

getServiceTracker

org.osgi.util.tracker.ServiceTracker getServiceTracker(java.lang.String interfaceClassName)
Gets a service tracker to follow a service registered under a certain interface. Will return a new ServiceTracker instance for every call, so don't call more than necessary. Any provided ServiceTracker instances will be opened before returning and automatically closed on shutdown.

Parameters:
interfaceClassName - The interface class as a String
Returns:
A service tracker to follow all instances of that interface
Throws:
java.lang.IllegalStateException - If the OSGi container is not running
Since:
2.1

getServiceTracker

org.osgi.util.tracker.ServiceTracker getServiceTracker(java.lang.String interfaceClassName,
                                                       org.osgi.util.tracker.ServiceTrackerCustomizer serviceTrackerCustomizer)
Gets a service tracker to follow a service registered under a certain interface with a ServiceTrackerCustomizer attached for customizing tracked service objects. Will return a new ServiceTracker instance for every call, so don't call more than necessary. Any provided ServiceTracker instances will be opened before returning and automatically closed on shutdown.

Parameters:
interfaceClassName - The interface class as a String
serviceTrackerCustomizer - service tracker customizer for the created service tracker
Returns:
A service tracker to follow all instances of that interface
Throws:
java.lang.IllegalStateException - If the OSGi container is not running
Since:
2.13


Copyright © 2013 Atlassian. All Rights Reserved.