public class Felix extends Object implements Framework
ACTIVE, INSTALLED, RESOLVED, SIGNERS_ALL, SIGNERS_TRUSTED, START_ACTIVATION_POLICY, START_TRANSIENT, STARTING, STOP_TRANSIENT, STOPPING, UNINSTALLED| Constructor and Description |
|---|
Felix(Map configMap)
This constructor creates a framework instance with a specified Map
of configuration properties.
|
Felix(Map configMap,
ModuleConnector connectFramework) |
| Modifier and Type | Method and Description |
|---|---|
<A> A |
adapt(Class<A> type)
Adapt this bundle to the specified type.
|
int |
compareTo(Bundle t) |
Enumeration |
findEntries(String path,
String filePattern,
boolean recurse)
Returns entries in this bundle and its attached fragments.
|
Bundle |
getBundle()
Returns the
Bundle object associated with this
BundleReference. |
BundleContext |
getBundleContext()
Returns this bundle's
BundleContext. |
long |
getBundleId()
Returns this bundle's unique identifier.
|
File |
getDataFile(String filename)
Creates a
File object for a file in the persistent storage area
provided for this bundle by the Framework. |
URL |
getEntry(String name)
Returns a URL to the entry at the specified path in this bundle.
|
Enumeration |
getEntryPaths(String path)
Returns an Enumeration of all the paths (
String objects) to
entries within this bundle whose longest sub-path matches the specified
path. |
Dictionary |
getHeaders()
Returns this bundle's Manifest headers and values.
|
Dictionary |
getHeaders(String locale)
Returns this bundle's Manifest headers and values localized to the
specified locale.
|
long |
getLastModified()
Returns the time when this bundle was last modified.
|
String |
getLocation()
Returns this bundle's location identifier.
|
int |
getPersistentState() |
ServiceReference[] |
getRegisteredServices()
Returns an array of service references corresponding to
the bundle's registered services.
|
URL |
getResource(String name)
Returns a URL to a named resource in the bundle.
|
Enumeration |
getResources(String name)
Find the specified resources from this bundle's class loader.
|
List<BundleRevision> |
getRevisions()
Return the bundle revisions for the
referenced bundle. |
ServiceReference[] |
getServicesInUse()
Returns this bundle's
ServiceReference list for all services it
is using or returns null if this bundle is not using any
services. |
Map |
getSignerCertificates(int signersType)
Return the certificates for the signers of this bundle and the
certificate chains for those signers.
|
int |
getState()
Returns this bundle's current state.
|
String |
getSymbolicName()
Returns the symbolic name of this bundle as specified by its
Bundle-SymbolicName manifest header. |
Version |
getVersion()
Returns the version of this bundle as specified by its
Bundle-Version manifest header. |
boolean |
hasConnectFramework() |
boolean |
hasPermission(Object obj)
Determines if this bundle has the specified permissions.
|
void |
init()
Initialize this Framework.
|
void |
init(FrameworkListener... listeners)
Initialize this Framework.
|
Class |
loadClass(String name)
Loads the specified class using this bundle's class loader.
|
void |
setPersistentStateActive() |
void |
setPersistentStateInactive() |
void |
setPersistentStateUninstalled() |
void |
start()
This method starts the framework instance, which will transition the
framework from start level 0 to its active start level as specified in
its configuration properties (1 by default).
|
void |
start(int options)
Starts this bundle.
|
void |
stop()
This method asynchronously shuts down the framework, it must be called at the
end of a session in order to shutdown all active bundles.
|
void |
stop(int options)
Stops this bundle.
|
String |
toString() |
void |
uninstall()
Uninstalls this bundle.
|
void |
update()
Updates this bundle.
|
void |
update(InputStream is)
Updates this bundle from an
InputStream. |
FrameworkEvent |
waitForStop(long timeout)
This method will cause the calling thread to block until the framework
shuts down.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitfindEntries, getEntry, getEntryPaths, getLocation, getSymbolicNamegetBundleContext, getDataFile, getHeaders, getHeaders, getRegisteredServices, getResource, getResources, getServicesInUse, getSignerCertificates, getState, getVersion, loadClasscompareTopublic Felix(Map configMap)
This constructor creates a framework instance with a specified Map of configuration properties. Configuration properties are used internally by the framework to alter its default behavior. The configuration properties should have a String key and an Object value. The passed in Map is copied by the framework and all keys are converted to Strings.
Configuration properties are generally the sole means to configure the framework's default behavior; the framework does not typically refer to any system properties for configuration information. If a Map is supplied to this method for configuration properties, then the framework will consult the Map instance for any and all configuration properties. It is possible to specify a null for the configuration property map, in which case the framework will use its default behavior in all cases.
The following configuration properties can be specified (properties starting with "felix" are specific to Felix, while those starting with "org.osgi" are standard OSGi properties):
The Main class implements some functionality for default property file handling, which makes it possible to specify configuration properties and framework properties in files that are automatically loaded when starting the framework. If you plan to create your own framework instance, you may be able to take advantage of the features it provides; refer to its class documentation for more information.
The framework is not actually started until the start() method is called.
configMap - A map for obtaining configuration properties,
may be null.public Felix(Map configMap, ModuleConnector connectFramework)
public <A> A adapt(Class<A> type)
Bundle
Adapting this bundle to the specified type may require certain checks,
including security checks, to succeed. If a check does not succeed, then
this bundle cannot be adapted and null is returned.
adapt in interface Bundleadapt in interface FrameworkA - The type to which this bundle is to be adapted.type - Class object for the type to which this bundle is to be
adapted.null if this bundle cannot be adapted to the
specified type.public long getBundleId()
BundleA bundle's unique identifier has the following attributes:
long.
This method must continue to return this bundle's unique identifier while
this bundle is in the UNINSTALLED state.
getBundleId in interface BundlegetBundleId in interface FrameworkBundle.getBundleId()public long getLastModified()
BundleThe time value is the number of milliseconds since January 1, 1970, 00:00:00 UTC.
getLastModified in interface BundlegetLastModified in interface Frameworkpublic int getPersistentState()
public void setPersistentStateInactive()
public void setPersistentStateActive()
public void setPersistentStateUninstalled()
public boolean hasPermission(Object obj)
Bundle
If the Java Runtime Environment does not support permissions, this method
always returns true.
permission is of type Object to avoid referencing the
java.security.Permission class directly. This is to allow the
Framework to be implemented in Java environments which do not support
permissions.
If the Java Runtime Environment does support permissions, this bundle and
all its resources including embedded JAR files, belong to the same
java.security.ProtectionDomain; that is, they must share the same
set of permissions.
hasPermission in interface Bundleobj - The permission to verify.true if this bundle has the specified permission or the
permissions possessed by this bundle imply the specified
permission; false if this bundle does not have the
specified permission or permission is not an
instanceof java.security.Permission.public void init()
throws BundleException
Framework
This method performs the same function as calling
Framework.init(FrameworkListener...) with no framework listeners.
init in interface FrameworkBundleException - If this Framework could not be initialized.Framework.init(FrameworkListener...)public void init(FrameworkListener... listeners) throws BundleException
Frameworkframework UUID.
Bundle.STARTING state.ConditionalPermissionAdmin.adaptable to the OSGi defined types to which
a system bundle can be adapted.start method of the extension bundle
activator for all resolved extension bundles.
This Framework will not actually be started until start
is called.
This method does nothing if called when this Framework is in the
Bundle.STARTING, Bundle.ACTIVE or Bundle.STOPPING states.
All framework events fired by this method are also delivered to the specified FrameworkListeners in the order they are specified before returning from this method. After returning from this method the specified listeners are no longer notified of framework events.
init in interface Frameworklisteners - Zero or more listeners to be notified when framework
events occur while initializing the framework. The specified
listeners do not need to be otherwise registered with the
framework. If a specified listener is registered with the
framework, it will be notified twice for each framework event.BundleException - If this Framework could not be initialized.Framework.init(org.osgi.framework.FrameworkListener[])public void start()
throws BundleException
start in interface Bundlestart in interface FrameworkBundleException - if any error occurs.Bundle.start(int)public void start(int options)
throws BundleException
Bundle
If this bundle's state is UNINSTALLED then an
IllegalStateException is thrown.
If the current start level is less than this bundle's start level:
Bundle.START_TRANSIENT option is set, then a
BundleException is thrown indicating this bundle cannot be
started due to the Framework's current start level.Bundle.START_ACTIVATION_POLICY option is set or
Started with eager activation if not set.When the Framework's current start level becomes equal to or more than this bundle's start level, this bundle will be started.
Otherwise, the following steps are required to start this bundle:
BundleException is thrown to indicate this bundle was unable to
be started.Bundle.START_TRANSIENT option is not set then set this
bundle's autostart setting to Started with declared activation
if the Bundle.START_ACTIVATION_POLICY option is set or
Started with eager activation if not set. When the Framework is
restarted and this bundle's autostart setting is not Stopped,
this bundle must be automatically started.ACTIVE then this method returns
immediately.RESOLVED, an attempt is made to
resolve this bundle. If the Framework cannot resolve this bundle, a
BundleException is thrown.Bundle.START_ACTIVATION_POLICY option is set and this
bundle's declared activation policy is lazy then:
STARTING then this method returns
immediately.STARTING.BundleEvent.LAZY_ACTIVATION is fired.STARTING.BundleEvent.STARTING is fired.BundleActivator.start(BundleContext) method of this
bundle's BundleActivator, if one is specified, is called. If the
BundleActivator is invalid or throws an exception then:
STOPPING.BundleEvent.STOPPING is fired.RESOLVED.BundleEvent.STOPPED is fired.BundleException is then thrown.ACTIVE.BundleEvent.STARTED is fired.getState() in { INSTALLED, RESOLVED
} or { INSTALLED, RESOLVED,
STARTING } if this bundle has a lazy activation policy.Bundle.START_TRANSIENT option was set.getState() in { ACTIVE } unless the
lazy activation policy was used.BundleActivator.start() has been called and did not throw an
exception unless the lazy activation policy was used.Bundle.START_TRANSIENT option was set.getState() not in { STARTING, ACTIVE
}.start in interface Bundlestart in interface Frameworkoptions - The options for starting this bundle. See
Bundle.START_TRANSIENT and Bundle.START_ACTIVATION_POLICY. The
Framework must ignore unrecognized options.BundleException - If this bundle could not be started.
BundleException types thrown by this method include:
BundleException.START_TRANSIENT_ERROR,
BundleException.NATIVECODE_ERROR,
BundleException.RESOLVE_ERROR,
BundleException.STATECHANGE_ERROR, and
BundleException.ACTIVATOR_ERROR.Framework.start()public void stop()
throws BundleException
stop in interface Bundlestop in interface FrameworkBundleException - BundleException types thrown by this method
include: BundleException.STATECHANGE_ERROR and
BundleException.ACTIVATOR_ERROR.Bundle.start(int)public void stop(int options)
throws BundleException
BundleThe following steps are required to stop a bundle:
UNINSTALLED then an
IllegalStateException is thrown.BundleException is thrown to indicate this bundle was unable to
be stopped.Bundle.STOP_TRANSIENT option is not set then set this
bundle's persistent autostart setting to Stopped. When the
Framework is restarted and this bundle's autostart setting is
Stopped, this bundle must not be automatically started.STARTING or ACTIVE then
this method returns immediately.STOPPING.BundleEvent.STOPPING is fired.ACTIVE prior to setting the state
to STOPPING, the BundleActivator.stop(BundleContext)
method of this bundle's BundleActivator, if one is specified, is
called. If that method throws an exception, this method must continue to
stop this bundle and a BundleException must be thrown after
completion of the remaining steps.UNINSTALLED, because this bundle
was uninstalled while the BundleActivator.stop method was
running, a BundleException must be thrown.RESOLVED.BundleEvent.STOPPED is fired.getState() in { ACTIVE }.Bundle.STOP_TRANSIENT option was set.getState() not in { ACTIVE, STOPPING
}.BundleActivator.stop has been called and did not throw an
exception.Bundle.STOP_TRANSIENT option was set.stop in interface Bundlestop in interface Frameworkoptions - The options for stopping this bundle. See
Bundle.STOP_TRANSIENT. The Framework must ignore unrecognized
options.BundleException - BundleException types thrown by this method
include: BundleException.STATECHANGE_ERROR and
BundleException.ACTIVATOR_ERROR.Framework.stop()public FrameworkEvent waitForStop(long timeout) throws InterruptedException
waitForStop in interface Frameworktimeout - A timeout value.FrameworkEvent types may be returned by this
method.
STOPPED - This Framework has
been stopped.STOPPED_UPDATE - This
Framework has been updated which has shutdown and will now
restart.STOPPED_SYSTEM_REFRESHED - The Framework has been stopped
because of a refresh operation on the system bundle. A new class
loader must be used to restart the Framework.ERROR - The Framework
encountered an error while shutting down or an error has occurred
which forced the framework to shutdown.WAIT_TIMEDOUT - This
method has timed out and returned before this Framework has
stopped.InterruptedException - If the thread was interrupted.public void uninstall()
throws BundleException
Bundle
This method causes the Framework to notify other bundles that this bundle
is being uninstalled, and then puts this bundle into the
UNINSTALLED state. The Framework must remove any resources
related to this bundle that it is able to remove.
If this bundle has exported any packages, the Framework must continue to
make these packages available to their importing bundles until the
FrameworkWiring.refreshBundles method has been called or the Framework
is relaunched.
The following steps are required to uninstall a bundle:
UNINSTALLED then an
IllegalStateException is thrown.ACTIVE, STARTING or
STOPPING, this bundle is stopped as described in the
Bundle.stop method. If Bundle.stop throws an exception, a
Framework event of type FrameworkEvent.ERROR is fired containing
the exception.UNINSTALLED.BundleEvent.UNINSTALLED is fired.getState() not in { UNINSTALLED }.getState() in { UNINSTALLED }.getState() not in { UNINSTALLED }.uninstall in interface Bundleuninstall in interface FrameworkBundleException - If the uninstall failed. This can occur if
another thread is attempting to change this bundle's state and
does not complete in a timely manner. BundleException types
thrown by this method include:
BundleException.STATECHANGE_ERRORBundle.stop()public void update()
throws BundleException
Bundle
This method performs the same function as calling
Bundle.update(InputStream) with a null InputStream.
update in interface Bundleupdate in interface FrameworkBundleException - If this bundle could not be updated.
BundleException types thrown by this method include:
BundleException.READ_ERROR,
BundleException.DUPLICATE_BUNDLE_ERROR,
BundleException.MANIFEST_ERROR,
BundleException.NATIVECODE_ERROR,
BundleException.RESOLVE_ERROR,
BundleException.STATECHANGE_ERROR, and
BundleException.ACTIVATOR_ERROR.Bundle.update(InputStream)public void update(InputStream is) throws BundleException
BundleInputStream.
If the specified InputStream is null, the Framework must
create the InputStream from which to read the updated bundle by
interpreting, in an implementation dependent manner, this bundle's
Bundle-UpdateLocation Manifest
header, if present, or this bundle's original location.
If this bundle's state is ACTIVE, it must be stopped before the
update and started after the update successfully completes.
If this bundle has exported any packages that are imported by another
bundle, these packages must remain exported until the
FrameworkWiring.refreshBundles method has been has been called or the
Framework is relaunched.
The following steps are required to update a bundle:
UNINSTALLED then an
IllegalStateException is thrown.ACTIVE, STARTING or
STOPPING, this bundle is stopped as described in the
Bundle.stop method. If Bundle.stop throws an exception,
the exception is rethrown terminating the update.BundleException must be thrown after completion of the remaining
steps.INSTALLED.BundleEvent.UPDATED is fired.ACTIVE, the updated
bundle is started as described in the Bundle.start method. If
Bundle.start throws an exception, a Framework event of type
FrameworkEvent.ERROR is fired containing the exception.getState() not in { UNINSTALLED }.getState() in { INSTALLED, RESOLVED,
ACTIVE }.getState() in { INSTALLED, RESOLVED,
ACTIVE }.update in interface Bundleupdate in interface Frameworkis - The InputStream from which to read the new bundle or
null to indicate the Framework must create the input
stream from this bundle's Bundle-UpdateLocation Manifest header, if present, or this
bundle's original location. The input stream must always be closed
when this method completes, even if an exception is thrown.BundleException - If this bundle could not be updated.
BundleException types thrown by this method include:
BundleException.READ_ERROR,
BundleException.DUPLICATE_BUNDLE_ERROR,
BundleException.MANIFEST_ERROR,
BundleException.NATIVECODE_ERROR,
BundleException.RESOLVE_ERROR,
BundleException.STATECHANGE_ERROR, and
BundleException.ACTIVATOR_ERROR.Bundle.stop(),
Bundle.start()public String toString()
public boolean hasConnectFramework()
public BundleContext getBundleContext()
BundleBundleContext. The returned
BundleContext can be used by the caller to act on behalf of this
bundle.
If this bundle is not in the Bundle.STARTING, Bundle.ACTIVE, or
Bundle.STOPPING states or this bundle is a fragment bundle, then this
bundle has no valid BundleContext. This method will return
null if this bundle has no valid BundleContext.
getBundleContext in interface BundleBundleContext for this bundle or null if this
bundle has no valid BundleContext.public URL getEntry(String name)
BundleThe specified path is always relative to the root of this bundle and may begin with "/". A path value of "/" indicates the root of this bundle.
Note: Jar and zip files are not required to include directory entries. URLs to directory entries will not be returned if the bundle contents do not contain directory entries.
public Enumeration getEntryPaths(String path)
BundleString objects) to
entries within this bundle whose longest sub-path matches the specified
path. This bundle's class loader is not used to search for entries. Only
the contents of this bundle are searched.
The specified path is always relative to the root of this bundle and may begin with a "/". A path value of "/" indicates the root of this bundle.
Returned paths indicating subdirectory paths end with a "/". The returned paths are all relative to the root of this bundle and must not begin with "/".
Note: Jar and zip files are not required to include directory entries. Paths to directory entries will not be returned if the bundle contents do not contain directory entries.
getEntryPaths in interface Bundlepath - The path name for which to return entry paths.String objects) or
null if no entry could be found or if the caller does not
have the appropriate AdminPermission[this,RESOURCE] and
the Java Runtime Environment supports permissions.public Enumeration findEntries(String path, String filePattern, boolean recurse)
BundleINSTALLED, this method must attempt to
resolve this bundle before attempting to find entries.
This method is intended to be used to obtain configuration, setup, localization and other information from this bundle. This method takes into account that the "contents" of this bundle can be extended with fragments. This "bundle space" is not a namespace with unique members; the same entry name can be present multiple times. This method therefore returns an enumeration of URL objects. These URLs can come from different JARs but have the same path name. This method can either return only entries in the specified path or recurse into subdirectories returning entries in the directory tree beginning at the specified path. Fragments can be attached after this bundle is resolved, possibly changing the set of URLs returned by this method. If this bundle is not resolved, only the entries in the JAR file of this bundle are returned.
Examples:
// List all XML files in the OSGI-INF directory and below
Enumeration e = b.findEntries("OSGI-INF", "*.xml", true);
// Find a specific localization file
Enumeration e = b.findEntries("OSGI-INF/l10n",
"bundle_nl_DU.properties", false);
if (e.hasMoreElements())
return (URL) e.nextElement();
URLs for directory entries must have their path end with "/".
Note: Jar and zip files are not required to include directory entries. URLs to directory entries will not be returned if the bundle contents do not contain directory entries.
findEntries in interface Bundlepath - The path name in which to look. The path is always relative
to the root of this bundle and may begin with "/". A
path value of "/" indicates the root of this bundle.filePattern - The file name pattern for selecting entries in the
specified path. The pattern is only matched against the last
element of the entry path. If the entry is a directory then the
trailing "/" is not used for pattern matching. Substring
matching is supported, as specified in the Filter specification,
using the wildcard character ("*"). If null is
specified, this is equivalent to "*" and matches all
files.recurse - If true, recurse into subdirectories. Otherwise
only return entries from the specified path.null if no matching entry could be found or if the caller
does not have the appropriate
AdminPermission[this,RESOURCE], and the Java Runtime
Environment supports permissions. The URLs are sorted such that
entries from this bundle are returned first followed by the
entries from attached fragments in attachment order. If this
bundle is a fragment, then only matching entries in this fragment
are returned.public Dictionary getHeaders()
Bundle
Manifest header names are case-insensitive. The methods of the returned
Dictionary object must operate on header names in a
case-insensitive manner.
If a Manifest header value starts with "%", it must be
localized according to the default locale. If no localization is found
for a header value, the header value without the leading "%" is
returned.
For example, the following Manifest headers and values are included if they are present in the Manifest file:
Bundle-Name
Bundle-Vendor
Bundle-Version
Bundle-Description
Bundle-DocURL
Bundle-ContactAddress
This method must continue to return Manifest header information while
this bundle is in the UNINSTALLED state.
getHeaders in interface BundleDictionary object containing this
bundle's Manifest headers and values.Constants.BUNDLE_LOCALIZATIONpublic Dictionary getHeaders(String locale)
Bundle
This method performs the same function as Bundle.getHeaders()
except the manifest header values are localized to the specified locale.
If a Manifest header value starts with "%", it must be localized according to the specified locale. If a locale is specified and cannot be found, then the header values must be returned using the default locale. Localizations are searched for in the following order:
bn + "_" + Ls + "_" + Cs + "_" + Vs bn + "_" + Ls + "_" + Cs bn + "_" + Ls bn + "_" + Ld + "_" + Cd + "_" + Vd bn + "_" + Ld + "_" + Cd bn + "_" + Ld bnWhere
bn is this bundle's localization basename, Ls,
Cs and Vs are the specified locale (language, country,
variant) and Ld, Cd and Vd are the default locale
(language, country, variant).
If null is specified as the locale string, the header values must
be localized using the default locale. If the empty string ("")
is specified as the locale string, the header values must not be
localized and the raw (unlocalized) header values, including any leading
"%", must be returned. If no localization is found for a header
value, the header value without the leading "%" is returned.
This method must continue to return Manifest header information while
this bundle is in the UNINSTALLED state, however the header
values must only be available in the raw and default locale values.
getHeaders in interface Bundlelocale - The locale name into which the header values are to be
localized. If the specified locale is null then the locale
returned by java.util.Locale.getDefault is used. If the
specified locale is the empty string, this method will return the
raw (unlocalized) manifest headers including any leading
"%".Dictionary object containing this
bundle's Manifest headers and values.Bundle.getHeaders(),
Constants.BUNDLE_LOCALIZATIONpublic String getLocation()
Bundle
The location identifier is the location passed to
BundleContext.installBundle when a bundle is installed. The
location identifier does not change while this bundle remains installed,
even if this bundle is updated.
This method must continue to return this bundle's location identifier
while this bundle is in the UNINSTALLED state.
getLocation in interface Bundlepublic URL getResource(String name)
getResource in interface Bundlename - The name of the resource. See ClassLoader.getResource
for a description of the format of a resource name.Bundle.getEntry(String),
Bundle.findEntries(String, String, boolean)public Enumeration getResources(String name) throws IOException
BundleINSTALLED, this method must
attempt to resolve this bundle before attempting to get the specified
resources. If this bundle cannot be resolved, then only this bundle must
be searched for the specified resources. Imported packages cannot be
searched when a bundle has not been resolved. If this bundle is a
fragment bundle then null is returned.
Note: Jar and zip files are not required to include directory entries. URLs to directory entries will not be returned if the bundle contents do not contain directory entries.
getResources in interface Bundlename - The name of the resource. See
ClassLoader.getResources for a description of the format
of a resource name.null if
the resource could not be found or if this bundle is a fragment
bundle or if the caller does not have the appropriate
AdminPermission[this,RESOURCE], and the Java Runtime
Environment supports permissions.IOException - If there is an I/O error.public ServiceReference[] getRegisteredServices()
getRegisteredServices in interface BundleServiceRegistration,
ServiceReference,
ServicePermissionpublic ServiceReference[] getServicesInUse()
BundleServiceReference list for all services it
is using or returns null if this bundle is not using any
services. A bundle is considered to be using a service if it has any
unreleased service objects.
If the Java Runtime Environment supports permissions, a
ServiceReference object to a service is included in the returned
list only if the caller has the ServicePermission to get the
service using at least one of the named classes the service was
registered under.
The list is valid at the time of the call to this method, however, as the Framework is a very dynamic environment, services can be modified or unregistered at anytime.
getServicesInUse in interface BundleServiceReference objects or null.ServiceReference,
ServicePermissionpublic int getState()
BundleA bundle can be in only one state at any time.
public String getSymbolicName()
BundleBundle-SymbolicName manifest header. The bundle symbolic name
should be based on the reverse domain name naming convention like that
used for java packages.
This method must continue to return this bundle's symbolic name while
this bundle is in the UNINSTALLED state.
getSymbolicName in interface Bundlenull if this bundle
does not have a symbolic name.public Version getVersion()
BundleBundle-Version manifest header. If this bundle does not have a
specified version then Version.emptyVersion is returned.
This method must continue to return this bundle's version while this
bundle is in the UNINSTALLED state.
getVersion in interface Bundlepublic Map getSignerCertificates(int signersType)
BundlegetSignerCertificates in interface BundlesignersType - If Bundle.SIGNERS_ALL is specified, then information
on all signers of this bundle is returned. If
Bundle.SIGNERS_TRUSTED is specified, then only information on
the signers of this bundle trusted by the framework is returned.X509Certificates for the signers of this bundle and
the X509Certificate chains for those signers. The keys of
the Map are the X509Certificates of the signers
of this bundle. The value for a key is a List containing
the X509Certificate chain for the signer. The first item
in the List is the signer's X509Certificate which
is then followed by the rest of the X509Certificate
chain. The returned Map will be empty if there are no
signers. The returned Map is the property of the caller
who is free to modify it.public Class loadClass(String name) throws ClassNotFoundException
Bundle
If this bundle is a fragment bundle then this method must throw a
ClassNotFoundException.
If this bundle's state is INSTALLED, this method must attempt to
resolve this bundle before attempting to load the class.
If this bundle cannot be resolved, a Framework event of type
FrameworkEvent.ERROR is fired containing a
BundleException with details of the reason this bundle could not
be resolved. This method must then throw a ClassNotFoundException.
If this bundle's state is UNINSTALLED, then an
IllegalStateException is thrown.
loadClass in interface Bundlename - The name of the class to load.ClassNotFoundException - If no such class can be found or if this
bundle is a fragment bundle or if the caller does not have the
appropriate AdminPermission[this,CLASS], and the Java
Runtime Environment supports permissions.public File getDataFile(String filename)
BundleFile object for a file in the persistent storage area
provided for this bundle by the Framework. This method will return
null if the platform does not have file system support or this
bundle is a fragment bundle.
A File object for the base directory of the persistent storage
area provided for this bundle by the Framework can be obtained by calling
this method with an empty string as filename.
If the Java Runtime Environment supports permissions, the Framework will
ensure that this bundle has the java.io.FilePermission with
actions read,write,delete for all files
(recursively) in the persistent storage area provided for this bundle.
getDataFile in interface Bundlefilename - A relative name to the file to be accessed.File object that represents the requested file or
null if the platform does not have file system support or
this bundle is a fragment bundle.public int compareTo(Bundle t)
compareTo in interface Comparable<Bundle>public Bundle getBundle()
BundleReferenceBundle object associated with this
BundleReference.getBundle in interface BundleReferenceBundle object associated with this
BundleReference.public List<BundleRevision> getRevisions()
BundleRevisionsreferenced bundle.
The result is a list containing the current bundle revision, if there is one, and all in use bundle revisions. The list may also contain intermediate bundle revisions which are not in use.
The list is ordered in reverse chronological order such that the first item is the most recent bundle revision and last item is the oldest bundle revision.
Generally the list will have at least one bundle revision for the bundle: the current bundle revision. However, for an uninstalled bundle with no in use bundle revisions, the list may be empty.
getRevisions in interface BundleRevisionsBundleRevisions for
the referenced bundle.Copyright © 2006–2022 The Apache Software Foundation. All rights reserved.