Interface BlueprintContainer
-
@ProviderType public interface BlueprintContainer
A Blueprint Container represents the managed state of a Blueprint bundle. A Blueprint Container provides access to all managed components. These are the beans, services, and service references. Only bundles in theACTIVE
state (and also theSTARTING
state for bundles awaiting lazy activation) can have an associated Blueprint Container. A given Bundle Context has at most one associated Blueprint Container. A Blueprint Container can be obtained by injecting the predefined "blueprintContainer" component id. The Blueprint Container is also registered as a service and its managed components can be queried.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.Set<java.lang.String>
getComponentIds()
Returns the set of component ids managed by this Blueprint Container.java.lang.Object
getComponentInstance(java.lang.String id)
Return the component instance for the specified component id.ComponentMetadata
getComponentMetadata(java.lang.String id)
Return the Component Metadata object for the component with the specified component id.<T extends ComponentMetadata>
java.util.Collection<T>getMetadata(java.lang.Class<T> type)
Return allComponentMetadata
objects of the specified Component Metadata type.
-
-
-
Method Detail
-
getComponentIds
java.util.Set<java.lang.String> getComponentIds()
Returns the set of component ids managed by this Blueprint Container.- Returns:
- An immutable Set of Strings, containing the ids of all of the components managed within this Blueprint Container.
-
getComponentInstance
java.lang.Object getComponentInstance(java.lang.String id)
Return the component instance for the specified component id. If the component's manager has not yet been activated, calling this operation will atomically activate it. If the component has singleton scope, the activation will cause the component instance to be created and initialized. If the component has prototype scope, then each call to this method will return a new component instance.- Parameters:
id
- The component id for the requested component instance.- Returns:
- A component instance for the component with the specified component id.
- Throws:
NoSuchComponentException
- If no component with the specified component id is managed by this Blueprint Container.
-
getComponentMetadata
ComponentMetadata getComponentMetadata(java.lang.String id)
Return the Component Metadata object for the component with the specified component id.- Parameters:
id
- The component id for the requested Component Metadata.- Returns:
- The Component Metadata object for the component with the specified component id.
- Throws:
NoSuchComponentException
- If no component with the specified component id is managed by this Blueprint Container.
-
getMetadata
<T extends ComponentMetadata> java.util.Collection<T> getMetadata(java.lang.Class<T> type)
Return allComponentMetadata
objects of the specified Component Metadata type. The supported Component Metadata types areComponentMetadata
(which returns the Component Metadata for all defined manager types),BeanMetadata
,ServiceReferenceMetadata
(which returns bothReferenceMetadata
andReferenceListMetadata
objects), andServiceMetadata
. The collection will include all Component Metadata objects of the requested type, including components that are declared inline.- Type Parameters:
T
- Type of Component Metadata.- Parameters:
type
- The super type or type of the requested Component Metadata objects.- Returns:
- An immutable collection of Component Metadata objects of the specified type.
-
-