public class StartLevelImpl extends Object implements StartLevel
| Modifier and Type | Method and Description |
|---|---|
int |
getBundleStartLevel(Bundle bundle)
Return the assigned start level value for the specified Bundle.
|
int |
getInitialBundleStartLevel()
Return the initial start level value that is assigned to a Bundle when it
is first installed.
|
int |
getStartLevel()
Return the active start level value of the Framework.
|
boolean |
isBundleActivationPolicyUsed(Bundle bundle)
Returns whether the specified bundle's autostart setting indicates that
the activation policy declared in the bundle's manifest must be used.
|
boolean |
isBundlePersistentlyStarted(Bundle bundle)
Returns whether the specified bundle's autostart setting indicates the
bundle must be started.
|
void |
setBundleStartLevel(Bundle bundle,
int startlevel)
Assign a start level value to the specified Bundle.
|
void |
setInitialBundleStartLevel(int startlevel)
Set the initial start level value that is assigned to a Bundle when it is
first installed.
|
void |
setStartLevel(int startlevel)
Modify the active start level of the Framework.
|
public int getStartLevel()
StartLevelgetStartLevel in interface StartLevelpublic void setStartLevel(int startlevel)
StartLevelThe Framework will move to the requested start level. This method will return immediately to the caller and the start level change will occur asynchronously on another thread.
If the specified start level is higher than the active start level, the Framework will continue to increase the start level until the Framework has reached the specified start level. At each intermediate start level value on the way to and including the target start level, the Framework must:
Bundle.start(int) method using the Bundle.START_TRANSIENT
option. The Bundle.START_ACTIVATION_POLICY option must also be
used if StartLevel.isBundleActivationPolicyUsed(Bundle) returns
true for the bundle.FrameworkEvent.STARTLEVEL_CHANGED to announce it has moved
to the specified start level.
If the specified start level is lower than the active start level, the Framework will continue to decrease the start level until the Framework has reached the specified start level. At each intermediate start level value on the way to and including the specified start level, the framework must:
Bundle.stop(int) method using the Bundle.STOP_TRANSIENT
option.FrameworkEvent.STARTLEVEL_CHANGED to announce it has moved
to the specified start level.
If the specified start level is equal to the active start level, then no
bundles are started or stopped, however, the Framework must fire a
Framework event of type FrameworkEvent.STARTLEVEL_CHANGED
to announce it has finished moving to the specified start level. This
event may arrive before this method return.
setStartLevel in interface StartLevelstartlevel - The requested start level for the Framework.public int getBundleStartLevel(Bundle bundle)
StartLevelgetBundleStartLevel in interface StartLevelbundle - The target bundle.public void setBundleStartLevel(Bundle bundle, int startlevel)
StartLevelThe specified bundle will be assigned the specified start level. The start level value assigned to the bundle will be persistently recorded by the Framework.
If the new start level for the bundle is lower than or equal to the
active start level of the Framework and the bundle's autostart setting
indicates the bundle must be started, the Framework will start the
specified bundle as described in the Bundle.start(int) method
using the Bundle.START_TRANSIENT option. The
Bundle.START_ACTIVATION_POLICY option must also be used if
StartLevel.isBundleActivationPolicyUsed(Bundle) returns true
for the bundle. The actual starting of this bundle must occur
asynchronously.
If the new start level for the bundle is higher than the active start
level of the Framework, the Framework will stop the specified bundle as
described in the Bundle.stop(int) method using the
Bundle.STOP_TRANSIENT option. The actual stopping of this bundle
must occur asynchronously.
setBundleStartLevel in interface StartLevelbundle - The target bundle.startlevel - The new start level for the specified Bundle.public int getInitialBundleStartLevel()
StartLevelgetInitialBundleStartLevel in interface StartLevelStartLevel.setInitialBundleStartLevel(int)public void setInitialBundleStartLevel(int startlevel)
StartLevelThe initial bundle start level will be set to the specified start level. The initial bundle start level value will be persistently recorded by the Framework.
When a Bundle is installed via BundleContext.installBundle,
it is assigned the initial bundle start level value.
The default initial bundle start level value is 1 unless this method has been called to assign a different initial bundle start level value.
This method does not change the start level values of installed bundles.
setInitialBundleStartLevel in interface StartLevelstartlevel - The initial start level for newly installed bundles.public boolean isBundlePersistentlyStarted(Bundle bundle)
StartLevelThe autostart setting of a bundle indicates whether the bundle is to be started when its start level is reached.
isBundlePersistentlyStarted in interface StartLevelbundle - The bundle whose autostart setting is to be examined.true if the autostart setting of the bundle
indicates the bundle is to be started. false
otherwise.Bundle.START_TRANSIENTpublic boolean isBundleActivationPolicyUsed(Bundle bundle)
StartLevelThe autostart setting of a bundle indicates whether the bundle's declared activation policy is to be used when the bundle is started.
isBundleActivationPolicyUsed in interface StartLevelbundle - The bundle whose autostart setting is to be examined.true if the bundle's autostart setting indicates the
activation policy declared in the manifest must be used.
false if the bundle must be eagerly activated.Bundle.START_ACTIVATION_POLICYCopyright © 2006–2021 The Apache Software Foundation. All rights reserved.