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


Nested Class Summary
static interface OsgiContainerManager.AllowsReferenceInstall
          Additional interface for implementations which support reference installation.
 
Method Summary
 org.osgi.framework.Bundle[] getBundles()
          Gets a list of installed bundles
 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(String interfaceClassName)
          Gets a service tracker to follow a service registered under a certain interface.
 org.osgi.util.tracker.ServiceTracker getServiceTracker(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(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(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

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

Returns:
A list of host component registrations

getServiceTracker

org.osgi.util.tracker.ServiceTracker getServiceTracker(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:
IllegalStateException - If the OSGi container is not running
Since:
2.1

getServiceTracker

org.osgi.util.tracker.ServiceTracker getServiceTracker(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:
IllegalStateException - If the OSGi container is not running
Since:
2.13


Copyright © 2015 Atlassian. All rights reserved.