public interface Framework extends Bundle
Framework instances are created using a FrameworkFactory. The methods
of this interface can be used to manage and control the created framework
instance.
ACTIVE, INSTALLED, RESOLVED, SIGNERS_ALL, SIGNERS_TRUSTED, START_ACTIVATION_POLICY, START_TRANSIENT, STARTING, STOP_TRANSIENT, STOPPING, UNINSTALLED| Modifier and Type | Method and Description |
|---|---|
long |
getBundleId()
Returns the Framework unique identifier.
|
String |
getLocation()
Returns the Framework location identifier.
|
String |
getSymbolicName()
Returns the symbolic name of this Framework.
|
void |
init()
Initialize this Framework.
|
void |
start()
Start this Framework.
|
void |
start(int options)
Start this Framework.
|
void |
stop()
Stop this Framework.
|
void |
stop(int options)
Stop this Framework.
|
void |
uninstall()
The Framework cannot be uninstalled.
|
void |
update()
Stop and restart this Framework.
|
void |
update(InputStream in)
Stop and restart this Framework.
|
FrameworkEvent |
waitForStop(long timeout)
Wait until this Framework has completely stopped.
|
findEntries, getBundleContext, getEntry, getEntryPaths, getHeaders, getHeaders, getLastModified, getRegisteredServices, getResource, getResources, getServicesInUse, getSignerCertificates, getState, getVersion, hasPermission, loadClassvoid init()
throws BundleException
Bundle.STARTING state.PackageAdmin, ConditionalPermissionAdmin,
StartLevel.
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.
BundleException - If this Framework could not be initialized.SecurityException - If the Java Runtime Environment supports
permissions and the caller does not have the appropriate
AdminPermission[this,EXECUTE] or if there is a
security manager already installed and the
Constants.FRAMEWORK_SECURITY configuration property is
set.FrameworkEvent waitForStop(long timeout) throws InterruptedException
stop
and update methods on a Framework performs an asynchronous
stop of the Framework. This method can be used to wait until the
asynchronous stop of this Framework has completed. This method will only
wait if called when this Framework is in the Bundle.STARTING,
Bundle.ACTIVE, or Bundle.STOPPING states. Otherwise it will return
immediately.
A Framework Event is returned to indicate why this Framework has stopped.
timeout - Maximum number of milliseconds to wait until this
Framework has completely stopped. A value of zero will wait
indefinitely.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 another thread interrupted the current
thread before or while the current thread was waiting for this
Framework to completely stop. The interrupted status of
the current thread is cleared when this exception is thrown.IllegalArgumentException - If the value of timeout is negative.void start()
throws BundleException
The following steps are taken to start this Framework:
Bundle.STARTING state,
initialize this Framework.beginning start level
framework property, as described in the Start Level Service
Specification. If this framework property is not specified, then the
start level of this Framework is moved to start level one (1). Any
exceptions that occur during bundle starting must be wrapped in a
BundleException and then published as a framework event of type
FrameworkEvent.ERRORBundle.ACTIVE.FrameworkEvent.STARTED is firedstart in interface BundleBundleException - If this Framework could not be started.SecurityException - If the caller does not have the appropriate
AdminPermission[this,EXECUTE], and the Java Runtime
Environment supports permissions.void start(int options)
throws BundleException
Calling this method is the same as calling start(). There are no
start options for the Framework.
start in interface Bundleoptions - Ignored. There are no start options for the Framework.BundleException - If this Framework could not be started.SecurityException - If the caller does not have the appropriate
AdminPermission[this,EXECUTE], and the Java Runtime
Environment supports permissions.start()void stop()
throws BundleException
The method returns immediately to the caller after initiating the following steps to be taken on another thread.
Bundle.STOPPING.BundleException and
then published as a framework event of type FrameworkEvent.ERRORBundle.RESOLVED.waitForStop that the stop operation has completed.After being stopped, this Framework may be discarded, initialized or started.
stop in interface BundleBundleException - If stopping this Framework could not be
initiated.SecurityException - If the caller does not have the appropriate
AdminPermission[this,EXECUTE], and the Java Runtime
Environment supports permissions.void stop(int options)
throws BundleException
Calling this method is the same as calling stop(). There are no
stop options for the Framework.
stop in interface Bundleoptions - Ignored. There are no stop options for the Framework.BundleException - If stopping this Framework could not be
initiated.SecurityException - If the caller does not have the appropriate
AdminPermission[this,EXECUTE], and the Java Runtime
Environment supports permissions.stop()void uninstall()
throws BundleException
This method always throws a BundleException.
uninstall in interface BundleBundleException - This Framework cannot be uninstalled.SecurityException - If the caller does not have the appropriate
AdminPermission[this,LIFECYCLE], and the Java
Runtime Environment supports permissions.Bundle.stop()void update()
throws BundleException
The method returns immediately to the caller after initiating the following steps to be taken on another thread.
update in interface BundleBundleException - If stopping and restarting this Framework could
not be initiated.SecurityException - If the caller does not have the appropriate
AdminPermission[this,LIFECYCLE], and the Java
Runtime Environment supports permissions.Bundle.update(InputStream)void update(InputStream in) throws BundleException
Calling this method is the same as calling update() except that
any provided InputStream is immediately closed.
update in interface Bundlein - Any provided InputStream is immediately closed before returning
from this method and otherwise ignored.BundleException - If stopping and restarting this Framework could
not be initiated.SecurityException - If the caller does not have the appropriate
AdminPermission[this,LIFECYCLE], and the Java
Runtime Environment supports permissions.Bundle.stop(),
Bundle.start()long getBundleId()
getBundleId in interface BundleBundle.getBundleId()String getLocation()
System Bundle" since this
Framework is also a System Bundle.getLocation in interface BundleSystem Bundle".SecurityException - If the caller does not have the appropriate
AdminPermission[this,METADATA], and the Java Runtime
Environment supports permissions.Bundle.getLocation(),
Constants.SYSTEM_BUNDLE_LOCATIONString getSymbolicName()
system.bundle" must be recognized as an alias to
the implementation-defined symbolic name since this Framework is also a
System Bundle.getSymbolicName in interface BundleBundle.getSymbolicName(),
Constants.SYSTEM_BUNDLE_SYMBOLICNAMECopyright © 2012 JBoss by Red Hat. All Rights Reserved.