|
OSGi Service Platform Release 3 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Framework service which allows bundle programmers to inspect the packages exported in the Framework and eagerly update or uninstall bundles. If present, there will only be a single instance of this service registered with the Framework.
The term exported package (and the corresponding interface
ExportedPackage
)refers to a package that has actually been
exported (as opposed to one that is available for export).
The information about exported packages returned by this
service is valid only until the next time refreshPackages(org.osgi.framework.Bundle[])
is
called.
If an ExportedPackage object becomes stale, (that is, the package it references
has been updated or removed as a result of calling
PackageAdmin.refreshPackages()),
its getName() and getSpecificationVersion() continue to return their
old values, isRemovalPending() returns true, and getExportingBundle()
and getImportingBundles() return null.
Field Summary | |
---|---|
static int |
BUNDLE_TYPE_FRAGMENT
The bundle is a fragment bundle. |
Method Summary | |
---|---|
Bundle[] |
getBundles(java.lang.String symbolicName,
java.lang.String versionRange)
Returns the bundles with the specified symbolic name within the specified version range. |
int |
getBundleType(Bundle bundle)
Returns the special type of the specified bundle. |
ExportedPackage |
getExportedPackage(java.lang.String name)
Gets the ExportedPackage object with the specified package name. |
ExportedPackage[] |
getExportedPackages(Bundle bundle)
Gets the packages exported by the specified bundle. |
Bundle[] |
getFragments(Bundle bundle)
Returns an array of attached fragment bundles for the specified bundle. |
Bundle[] |
getHosts(Bundle bundle)
Returns an array of host bundles 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. |
ProvidingBundle[] |
getProvidingBundles(java.lang.String symbolicName)
Returns an array of ProvidingBundles for each resolved bundle with 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. |
Field Detail |
public static final int BUNDLE_TYPE_FRAGMENT
The value of BUNDLE_TYPE_FRAGMENT is 0x00000001.
Method Detail |
public ExportedPackage[] getExportedPackages(Bundle bundle)
bundle
- The bundle whose exported packages are to be returned,
or null if all the packages currently
exported in the Framework 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
on the system classpath whose name does not start with
"java.". In an environment where the exhaustive list
of packages on the system classpath is not known in
advance, this method will return all currently known
packages on the system classpath, that is, all packages
on the system classpath that contains one or more classes
that have been loaded.public ExportedPackage getExportedPackage(java.lang.String name)
name
- The name of the exported package to be returned.public void refreshPackages(Bundle[] 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 in its own thread:
For any exceptions that are thrown during any of these steps, a FrameworkEvent of type ERROR is broadcast, 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 previously updated or uninstalled bundles.java.lang.SecurityException
- if the caller does not have the
AdminPermission and the Java runtime environment supports
permissions.public boolean resolveBundles(Bundle[] bundles)
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.public ProvidingBundle[] getProvidingBundles(java.lang.String symbolicName)
symbolicName
- The symbolic name of the desired bundles
or null for all bundles with symbolic names.public Bundle[] getBundles(java.lang.String symbolicName, java.lang.String versionRange)
symbolicName
- The symbolic name of the desired bundles.versionRange
- The version range of the desired bundles,
or null if all versions are desired.Constants.BUNDLE_VERSION_ATTRIBUTE
public Bundle[] getFragments(Bundle bundle)
bundle
- The bundle whose attached fragment bundles are to be returned.public Bundle[] getHosts(Bundle bundle)
bundle
- The bundle whose host bundles are to be returned.public int getBundleType(Bundle bundle)
If a bundle is not one or more of the defined types then 0x00000000 is returned.
|
OSGi Service Platform Release 3 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |