public class NonWorkingOsgiFramework extends Object implements OsgiFramework
Constructor and Description |
---|
NonWorkingOsgiFramework() |
Modifier and Type | Method and Description |
---|---|
org.osgi.framework.BundleContext |
bundleContext()
Returns the BundleContext of this framework's system bundle.
|
List<org.osgi.framework.Bundle> |
bundles()
Returns an iterable collection of all installed bundles.
|
List<org.osgi.framework.Bundle> |
installBundle(String bundleLocation)
Installs a bundle from the specified location.
|
void |
refreshPackages()
This method synchronously refreshes all bundles currently loaded.
|
void |
start()
This method starts the framework instance.
|
void |
startBundles(List<org.osgi.framework.Bundle> bundles,
boolean privileged)
Starts the given
Bundle s. |
void |
stop()
This method synchronously shuts down the framework.
|
public List<org.osgi.framework.Bundle> installBundle(String bundleLocation)
OsgiFramework
Installs a bundle from the specified location. The specified location identifier will be used as the identity
of the bundle. If a bundle containing the same location identifier is already installed, the Bundle
object for that bundle is returned. All bundles listed in the OsgiHeader.PREINSTALL_BUNDLE
manifest
header are also installed. The bundle at index 0 of the returned list matches the bundleLocation
argument.
NOTE: When this method installs more than one bundle, AND one of those bundles throw an
exception during installation, the bundles installed prior to throwing the expcetion will remain installed. To
enable the caller to recover from such a situation, this method wraps any thrown exception within a BundleInstallationException
that contains the list of successfully installed bundles.
It would be preferable if this method was exception-safe (that it would roll-back all installed bundles in the case of an exception), but that can not be implemented thread-safely since an Application may choose to install bundles concurrently through any available BundleContext.
installBundle
in interface OsgiFramework
bundleLocation
- The location identifier of the bundle to install.public void startBundles(List<org.osgi.framework.Bundle> bundles, boolean privileged)
OsgiFramework
Starts the given Bundle
s. The parameter privileged tells the framework whether or not
privileges are available, and is checked against the OsgiHeader.PRIVILEGED_ACTIVATOR
header of each
Bundle being started. Any bundle that is a fragment is silently ignored.
startBundles
in interface OsgiFramework
bundles
- The bundles to start.privileged
- Whether or not privileges are available.public void refreshPackages()
OsgiFramework
This method synchronously refreshes all bundles currently loaded. Once this method returns, the class loaders of all bundles will reflect on the current set of loaded bundles.
refreshPackages
in interface OsgiFramework
public org.osgi.framework.BundleContext bundleContext()
OsgiFramework
Returns the BundleContext of this framework's system bundle. The returned BundleContext can be used by the caller to act on behalf of this bundle. This method may return null if it has no valid BundleContext.
bundleContext
in interface OsgiFramework
public List<org.osgi.framework.Bundle> bundles()
OsgiFramework
Returns an iterable collection of all installed bundles. This method returns a list of all bundles installed in the OSGi environment at the time of the call to this method. However, since the OsgiFramework is a very dynamic environment, bundles can be installed or uninstalled at anytime.
bundles
in interface OsgiFramework
public void start()
OsgiFramework
This method starts the framework instance. Before this method is called, any call to OsgiFramework.installBundle(String)
or OsgiFramework.bundles()
will generate a NullPointerException
.
start
in interface OsgiFramework
public void stop()
OsgiFramework
This method synchronously shuts down the framework. It must be called at the end of a session in order to shutdown all active bundles.
stop
in interface OsgiFramework
Copyright © 2018. All rights reserved.