If present, there will only be a single instance of this service registered with the Framework.
Definition at line 36 of file PackageAdmin.java.
Public Member Functions | |
ExportedPackage[] | getExportedPackages (Bundle bundle) |
Gets the exported packages for the specified bundle. | |
ExportedPackage[] | getExportedPackages (String name) |
Gets the exported packages for the specified package name. | |
ExportedPackage | getExportedPackage (String name) |
Gets the exported package for the specified package name. | |
void | refreshPackages (Bundle[] bundles) |
Forces the update (replacement) or removal of packages exported by the specified bundles. | |
boolean | resolveBundles (Bundle[] bundles) |
Resolve the specified bundles. | |
RequiredBundle[] | getRequiredBundles (String symbolicName) |
Returns an array of required bundles having the specified symbolic name. | |
Bundle[] | getBundles (String symbolicName, String versionRange) |
Returns the bundles with the specified symbolic name whose bundle version is within the specified version range. | |
Bundle[] | getFragments (Bundle bundle) |
Returns an array of attached fragment bundles for the specified bundle. | |
Bundle[] | getHosts (Bundle bundle) |
Returns an array containing the host bundle to which the specified fragment bundle is attached or null if the specified bundle is not attached to a host or is not a fragment bundle. | |
Bundle | getBundle (Class clazz) |
Returns the bundle from which the specified class is loaded. | |
int | getBundleType (Bundle bundle) |
Returns the special type of the specified bundle. | |
Static Public Attributes | |
static final int | BUNDLE_TYPE_FRAGMENT = 0x00000001 |
Bundle type indicating the bundle is a fragment bundle. |
ExportedPackage [] org.osgi.service.packageadmin.PackageAdmin.getExportedPackages | ( | Bundle | bundle | ) |
Gets the exported packages for the specified bundle.
bundle | The bundle whose exported packages are to be returned, or null if all exported packages are to be returned. If the specified bundle is the system bundle (that is, the bundle with id zero), this method returns all the packages known to be exported by the system bundle. This will include the package specified by the org.osgi.framework.system.packages system property as well as any other package exported by the framework implementation. |
null
if the specified bundle has no exported packages. Implemented in org.knopflerfish.framework.PackageAdminImpl.
ExportedPackage [] org.osgi.service.packageadmin.PackageAdmin.getExportedPackages | ( | String | name | ) |
Gets the exported packages for the specified package name.
name | The name of the exported packages to be returned. |
null
if no exported packages with the specified name exists. Implemented in org.knopflerfish.framework.PackageAdminImpl.
ExportedPackage org.osgi.service.packageadmin.PackageAdmin.getExportedPackage | ( | String | name | ) |
Gets the exported package for the specified package name.
If there are multiple exported packages with specified name, the exported package with the highest version will be returned.
name | The name of the exported package to be returned. |
null
if no exported package with the specified name exists. Implemented in org.knopflerfish.framework.PackageAdminImpl.
void org.osgi.service.packageadmin.PackageAdmin.refreshPackages | ( | Bundle[] | bundles | ) |
Forces the update (replacement) or removal of packages exported by the specified bundles.
If no bundles are specified, this method will update or remove any packages exported by any bundles that were previously updated or uninstalled since the last call to this method. The technique by which this is accomplished may vary among different Framework implementations. One permissible implementation is to stop and restart the Framework.
This method returns to the caller immediately and then performs the following steps on a separate thread:
UNINSTALLED
bundles that are currently still exporting packages.
ACTIVE
state will be stopped as described in the Bundle.stop
method.
RESOLVED
state is unresolved and thus moved to the INSTALLED
state. The effect of this step is that bundles in the graph are no longer RESOLVED
.
UNINSTALLED
state is removed from the graph and is now completely removed from the Framework.
ACTIVE
state prior to Step 2 is started as described in the Bundle.start
method, causing all bundles required for the restart to be resolved. It is possible that, as a result of the previous steps, packages that were previously exported no longer are. Therefore, some bundles may be unresolvable until another bundle offering a compatible package for export has been installed in the Framework. FrameworkEvent.PACKAGES_REFRESHED
is fired.
For any exceptions that are thrown during any of these steps, a FrameworkEvent
of type ERROR
is fired containing the exception. The source bundle for these events should be the specific bundle to which the exception is related. If no specific bundle can be associated with the exception then the System Bundle must be used as the source bundle for the event.
bundles | The bundles whose exported packages are to be updated or removed, or null for all bundles updated or uninstalled since the last call to this method. |
SecurityException | If the caller does not have AdminPermission[System Bundle,RESOLVE] and the Java runtime environment supports permissions. |
boolean org.osgi.service.packageadmin.PackageAdmin.resolveBundles | ( | Bundle[] | bundles | ) |
Resolve the specified bundles.
The Framework must attempt to resolve the specified bundles that are unresolved. Additional bundles that are not included in the specified bundles may be resolved as a result of calling this method. A permissible implementation of this method is to attempt to resolve all unresolved bundles installed in the framework.
If null
is specified then the Framework will attempt to resolve all unresolved bundles. This method must not cause any bundle to be refreshed, stopped, or started. This method will not return until the operation has completed.
bundles | The bundles to resolve or null to resolve all unresolved bundles installed in the Framework. |
true
if all specified bundles are resolved; SecurityException | If the caller does not have AdminPermission[System Bundle,RESOLVE] and the Java runtime environment supports permissions. |
Implemented in org.knopflerfish.framework.PackageAdminImpl.
RequiredBundle [] org.osgi.service.packageadmin.PackageAdmin.getRequiredBundles | ( | String | symbolicName | ) |
Returns an array of required bundles having the specified symbolic name.
If null
is specified, then all required bundles will be returned.
symbolicName | The bundle symbolic name or null for all required bundles. |
null
if no required bundles exist for the specified symbolic name. Implemented in org.knopflerfish.framework.PackageAdminImpl.
Bundle [] org.osgi.service.packageadmin.PackageAdmin.getBundles | ( | String | symbolicName, | |
String | versionRange | |||
) |
Returns the bundles with the specified symbolic name whose bundle version is within the specified version range.
If no bundles are installed that have the specified symbolic name, then null
is returned. If a version range is specified, then only the bundles that have the specified symbolic name and whose bundle versions belong to the specified version range are returned. The returned bundles are ordered by version in descending version order so that the first element of the array contains the bundle with the highest version.
symbolicName | The symbolic name of the desired bundles. | |
versionRange | The version range of the desired bundles, or null if all versions are desired. |
null
if no bundles are found. Implemented in org.knopflerfish.framework.PackageAdminImpl.
Returns an array of attached fragment bundles for the specified bundle.
If the specified bundle is a fragment then null
is returned. If no fragments are attached to the specified bundle then null
is returned.
This method does not attempt to resolve the specified bundle. If the specified bundle is not resolved then null
is returned.
bundle | The bundle whose attached fragment bundles are to be returned. |
null
if the bundle does not have any attached fragment bundles or the bundle is not resolved. Implemented in org.knopflerfish.framework.PackageAdminImpl.
Returns an array containing the host bundle to which the specified fragment bundle is attached or null
if the specified bundle is not attached to a host or is not a fragment bundle.
A fragment may only be attached to a single host bundle.
bundle | The bundle whose host bundle is to be returned. |
null
if the bundle does not have a host bundle. Implemented in org.knopflerfish.framework.PackageAdminImpl.
Bundle org.osgi.service.packageadmin.PackageAdmin.getBundle | ( | Class | clazz | ) |
Returns the bundle from which the specified class is loaded.
The class loader of the returned bundle must have been used to load the specified class. If the class was not loaded by a bundle class loader then null
is returned.
clazz | The class object from which to locate the bundle. |
null
if the class was not loaded by a bundle class loader. Implemented in org.knopflerfish.framework.PackageAdminImpl.
int org.osgi.service.packageadmin.PackageAdmin.getBundleType | ( | Bundle | bundle | ) |
Returns the special type of the specified bundle.
The bundle type values are:
A bundle may be more than one type at a time. A type code is used to identify the bundle type for future extendability.
If a bundle is not one or more of the defined types then 0x00000000 is returned.
bundle | The bundle for which to return the special type. |
Implemented in org.knopflerfish.framework.PackageAdminImpl.
final int org.osgi.service.packageadmin.PackageAdmin.BUNDLE_TYPE_FRAGMENT = 0x00000001 [static] |
Bundle type indicating the bundle is a fragment bundle.
The value of BUNDLE_TYPE_FRAGMENT
is 0x00000001.
Definition at line 257 of file PackageAdmin.java.
Referenced by org.knopflerfish.framework.PackageAdminImpl.getBundleType().