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, loadClass
void 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.ERROR
Bundle.ACTIVE
.FrameworkEvent.STARTED
is firedstart
in interface Bundle
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.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 Bundle
options
- 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.ERROR
Bundle.RESOLVED
.waitForStop
that the stop operation has completed.After being stopped, this Framework may be discarded, initialized or started.
stop
in interface Bundle
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.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 Bundle
options
- 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 Bundle
BundleException
- 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 Bundle
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.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 Bundle
in
- 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 Bundle
Bundle.getBundleId()
String getLocation()
System Bundle
" since this
Framework is also a System Bundle.getLocation
in interface Bundle
System 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_LOCATION
String 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 Bundle
Bundle.getSymbolicName()
,
Constants.SYSTEM_BUNDLE_SYMBOLICNAME
Copyright © 2018 JBoss by Red Hat. All rights reserved.