|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.felix.framework.Felix
public class Felix
Nested Class Summary | |
---|---|
class |
Felix.FelixResolver
|
Field Summary |
---|
Fields inherited from interface org.osgi.framework.Bundle |
---|
ACTIVE, INSTALLED, RESOLVED, SIGNERS_ALL, SIGNERS_TRUSTED, START_ACTIVATION_POLICY, START_TRANSIENT, STARTING, STOP_TRANSIENT, STOPPING, UNINSTALLED |
Constructor Summary | |
---|---|
Felix(Map configMap)
This constructor creates a framework instance with a specified Map of configuration properties. |
Method Summary | |
---|---|
Enumeration |
findEntries(String path,
String filePattern,
boolean recurse)
Returns entries in this bundle and its attached fragments. |
BundleContext |
getBundleContext()
Returns this bundle's BundleContext . |
long |
getBundleId()
Returns this bundle's unique identifier. |
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. |
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 |
hasPermission(Object obj)
Determines if this bundle has the specified permissions. |
void |
init()
This method initializes the framework, which is comprised of resolving the system bundle, reloading any cached bundles, and activating the system bundle. |
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.osgi.framework.launch.Framework |
---|
getLocation, getSymbolicName |
Methods inherited from interface org.osgi.framework.Bundle |
---|
findEntries, getBundleContext, getEntry, getEntryPaths, getHeaders, getHeaders, getRegisteredServices, getResource, getResources, getServicesInUse, getSignerCertificates, getState, getVersion, loadClass |
Constructor Detail |
---|
public 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.Method Detail |
---|
public long getBundleId()
Bundle
A 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 Bundle
getBundleId
in interface Framework
Bundle.getBundleId()
public long getLastModified()
Bundle
The time value is the number of milliseconds since January 1, 1970, 00:00:00 GMT.
getLastModified
in interface Bundle
public 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 Bundle
obj
- 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
init
in interface Framework
BundleException
- if any error occurs.public void start() throws BundleException
start
in interface Bundle
start
in interface Framework
BundleException
- 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 Framework implements the optional Start Level service and 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.
ACTIVE
then this method
returns immediately.
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.
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(org.osgi.framework.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.
UNINSTALLED
, because this
bundle was uninstalled while the BundleActivator.start
method was running, a BundleException
is 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 Bundle
start
in interface Framework
options
- 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. This could
be because a code dependency could not be resolved or the
specified BundleActivator
could not be loaded or
threw an exception or this bundle is a fragment.Framework.start()
public void stop() throws BundleException
stop
in interface Bundle
stop
in interface Framework
BundleException
- If this bundle's BundleActivator
threw an exception or this bundle is a fragment.Bundle.start(int)
public void stop(int options) throws BundleException
Bundle
The 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 then set this
bundle's persistent autostart setting to 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(org.osgi.framework.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 Bundle
stop
in interface Framework
options
- The options for stoping this bundle. See
Bundle.STOP_TRANSIENT
. The Framework must ignore unrecognized
options.
BundleException
- If this bundle's BundleActivator
threw an exception or this bundle is a fragment.Framework.stop()
public FrameworkEvent waitForStop(long timeout) throws InterruptedException
waitForStop
in interface Framework
timeout
- 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_BOOTCLASSPATH_MODIFIED
- This Framework has been stopped
and a bootclasspath extension bundle has been installed or
updated. The VM must be restarted in order for the changed boot
class path to take affect. 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
PackageAdmin.refreshPackages
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 Bundle
uninstall
in interface Framework
BundleException
- 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.Bundle.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 Bundle
update
in interface Framework
BundleException
- If the update fails.Bundle.update(InputStream)
public void update(InputStream is) throws BundleException
Bundle
InputStream
.
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 not be updated. Instead, the previous package
version must remain exported until the
PackageAdmin.refreshPackages
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 Bundle
update
in interface Framework
is
- 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 the input stream cannot be read or the update
fails.Bundle.stop()
,
Bundle.start()
public String toString()
public BundleContext getBundleContext()
Bundle
BundleContext
. 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 Bundle
BundleContext
for this bundle or
null
if this bundle has no valid
BundleContext
.public URL getEntry(String name)
Bundle
The 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.
getEntry
in interface Bundle
name
- The path name of the entry.
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 getEntryPaths(String path)
Bundle
String
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 Bundle
path
- 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)
Bundle
INSTALLED
, 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();
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 Bundle
path
- 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 an entry could not 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 ascending bundle id 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 Bundle
Dictionary
object containing this bundle's
Manifest headers and values.Constants.BUNDLE_LOCALIZATION
public 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 Bundle
locale
- 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_LOCALIZATION
public 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 Bundle
public URL getResource(String name)
getResource
in interface Bundle
name
- The name of the resource. See
ClassLoader.getResource
for a description of the
format of a resource name.
Bundle.getEntry(java.lang.String)
,
Bundle.findEntries(java.lang.String, java.lang.String, boolean)
public Enumeration getResources(String name) throws IOException
Bundle
INSTALLED
, 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 Bundle
name
- 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 Bundle
ServiceRegistration
,
ServiceReference
,
ServicePermission
public ServiceReference[] getServicesInUse()
Bundle
ServiceReference
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 its
use count for that service is greater than zero.
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 Bundle
ServiceReference
objects or
null
.ServiceReference
,
ServicePermission
public int getState()
Bundle
A bundle can be in only one state at any time.
getState
in interface Bundle
UNINSTALLED
,INSTALLED
,
RESOLVED
,STARTING
,
STOPPING
,ACTIVE
.public String getSymbolicName()
Bundle
Bundle-SymbolicName
manifest header. The bundle symbolic
name together with a version must identify a unique bundle. 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 Bundle
null
if this
bundle does not have a symbolic name.public Version getVersion()
Bundle
Bundle-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 Bundle
public Map getSignerCertificates(int signersType)
Bundle
getSignerCertificates
in interface Bundle
signersType
- 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.
X509Certificate
s for the signers of this bundle
and the X509Certificate
chains for those signers.
The keys of the Map
are the
X509Certificate
s 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 Bundle
name
- 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.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |