@ProviderType public interface ServiceComponentRuntime
ServiceComponentRuntime
service represents the Declarative
Services actor, known as Service Component Runtime (SCR), that manages the
service components and their life cycle. The ServiceComponentRuntime
service allows introspection of the components managed by Service Component
Runtime.
This service differentiates between a ComponentDescriptionDTO
and a
ComponentConfigurationDTO
. A ComponentDescriptionDTO
is a
representation of a declared component description. A
ComponentConfigurationDTO
is a representation of an actual instance
of a declared component description parameterized by component properties.
This service must be registered with a Constants.SERVICE_CHANGECOUNT
service property that must be updated each time the SCR DTOs available from
this service change.
Access to this service requires the
ServicePermission[ServiceComponentRuntime, GET]
permission. It is
intended that only administrative bundles should be granted this permission
to limit access to the potentially intrusive methods provided by this
service.
Modifier and Type | Method and Description |
---|---|
Promise<java.lang.Void> |
disableComponent(ComponentDescriptionDTO description)
Disables the specified component description.
|
Promise<java.lang.Void> |
enableComponent(ComponentDescriptionDTO description)
Enables the specified component description.
|
java.util.Collection<ComponentConfigurationDTO> |
getComponentConfigurationDTOs(ComponentDescriptionDTO description)
Returns the component configurations for the specified component
description.
|
ComponentDescriptionDTO |
getComponentDescriptionDTO(Bundle bundle,
java.lang.String name)
Returns the
ComponentDescriptionDTO declared with the specified name
by the specified bundle. |
java.util.Collection<ComponentDescriptionDTO> |
getComponentDescriptionDTOs(Bundle... bundles)
Returns the component descriptions declared by the specified active
bundles.
|
boolean |
isComponentEnabled(ComponentDescriptionDTO description)
Returns whether the specified component description is currently enabled.
|
java.util.Collection<ComponentDescriptionDTO> getComponentDescriptionDTOs(Bundle... bundles)
Only component descriptions from active bundles are returned. If the specified bundles have no declared components or are not active, an empty collection is returned.
bundles
- The bundles whose declared component descriptions are to
be returned. Specifying no bundles, or the equivalent of an empty
Bundle
array, will return the declared component
descriptions from all active bundles.bundles
. An empty collection is returned if there are no
component descriptions for the specified active bundles.ComponentDescriptionDTO getComponentDescriptionDTO(Bundle bundle, java.lang.String name)
ComponentDescriptionDTO
declared with the specified name
by the specified bundle.
Only component descriptions from active bundles are returned.
null
if no such component is declared by the given bundle
or the bundle is not active.
bundle
- The bundle declaring the component description. Must not be
null
.name
- The name of the component description. Must not be
null
.null
if the
specified bundle is not active or does not declare a component
description with the specified name.java.util.Collection<ComponentConfigurationDTO> getComponentConfigurationDTOs(ComponentDescriptionDTO description)
description
- The component description. Must not be null
.boolean isComponentEnabled(ComponentDescriptionDTO description)
The enabled state of a component description is initially set by the
enabled
attribute of the
component description.
description
- The component description. Must not be null
.true
if the specified component description is currently
enabled. Otherwise, false
.enableComponent(ComponentDescriptionDTO)
,
disableComponent(ComponentDescriptionDTO)
,
ComponentContext.disableComponent(String)
,
ComponentContext.enableComponent(String)
Promise<java.lang.Void> enableComponent(ComponentDescriptionDTO description)
If the specified component description is currently enabled, this method has no effect.
This method must return after changing the enabled state of the specified component description. Any actions that result from this, such as activating or deactivating a component configuration, must occur asynchronously to this method call.
description
- The component description to enable. Must not be
null
.isComponentEnabled(ComponentDescriptionDTO)
Promise<java.lang.Void> disableComponent(ComponentDescriptionDTO description)
If the specified component description is currently disabled, this method has no effect.
This method must return after changing the enabled state of the specified component description. Any actions that result from this, such as activating or deactivating a component configuration, must occur asynchronously to this method call.
description
- The component description to disable. Must not be
null
.isComponentEnabled(ComponentDescriptionDTO)
Copyright © OSGi Alliance (2000, 2018). All Rights Reserved. Licensed under the OSGi Specification License, Version 2.0