org.osgi.service.packageadmin
public interface PackageAdmin
If present, there will only be a single instance of this service registered with the Framework.
Version: $Revision: 1.19 $
See Also: ExportedPackage RequiredBundle
Field Summary | |
---|---|
static int | BUNDLE_TYPE_FRAGMENT
Bundle type indicating the bundle is a fragment bundle.
|
Method Summary | |
---|---|
Bundle | getBundle(Class clazz)
Returns the bundle from which the specified class is loaded. |
Bundle[] | getBundles(String symbolicName, String versionRange)
Returns the bundles with the specified symbolic name whose bundle version
is within the specified version range. |
int | getBundleType(Bundle bundle)
Returns the special type of the specified bundle. |
ExportedPackage | getExportedPackage(String name)
Gets the exported package for the specified package name.
|
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.
|
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. |
RequiredBundle[] | getRequiredBundles(String symbolicName)
Returns an array of required bundles having the specified symbolic 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. |
The value of BUNDLE_TYPE_FRAGMENT
is 0x00000001.
Since: 1.2
null
is returned.
Parameters: clazz The class object from which to locate the bundle.
Returns: The bundle from which the specified class is loaded or
null
if the class was not loaded by a bundle class
loader.
Since: 1.2
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.
Parameters: symbolicName The symbolic name of the desired bundles. versionRange The version range of the desired bundles, or
null
if all versions are desired.
Returns: An array of bundles with the specified name belonging to the
specified version range ordered in descending version order, or
null
if no bundles are found.
Since: 1.2
See Also: BUNDLE_VERSION_ATTRIBUTE
If a bundle is not one or more of the defined types then 0x00000000 is returned.
Parameters: bundle The bundle for which to return the special type.
Returns: The special type of the bundle.
Since: 1.2
If there are multiple exported packages with specified name, the exported package with the highest version will be returned.
Parameters: name The name of the exported package to be returned.
Returns: The exported package, or null
if no exported
package with the specified name exists.
See Also: getExportedPackages
Parameters: 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.
Returns: An array of exported packages, or null
if the
specified bundle has no exported packages.
Parameters: name The name of the exported packages to be returned.
Returns: An array of the exported packages, or null
if no
exported packages with the specified name exists.
Since: 1.2
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.
Parameters: bundle The bundle whose attached fragment bundles are to be returned.
Returns: An array of fragment bundles or null
if the bundle
does not have any attached fragment bundles or the bundle is not
resolved.
Since: 1.2
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.
Parameters: bundle The bundle whose host bundle is to be returned.
Returns: An array containing the host bundle or null
if the
bundle does not have a host bundle.
Since: 1.2
If null
is specified, then all required bundles will be
returned.
Parameters: symbolicName The bundle symbolic name or null
for
all required bundles.
Returns: An array of required bundles or null
if no
required bundles exist for the specified symbolic name.
Since: 1.2
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.
Parameters: 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.
Throws: SecurityException If the caller does not have
AdminPermission[System Bundle,RESOLVE]
and the
Java runtime environment supports permissions.
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.
Parameters: bundles The bundles to resolve or null
to resolve
all unresolved bundles installed in the Framework.
Returns: true
if all specified bundles are resolved;
Throws: SecurityException If the caller does not have
AdminPermission[System Bundle,RESOLVE]
and the
Java runtime environment supports permissions.
Since: 1.2