OSGi™ Compendium
Release 5

org.osgi.service.blueprint.container
Interface BlueprintContainer


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 the ACTIVE state (and also the STARTING 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.

ThreadSafe
Consumers of this API must not implement this interface

Method Summary
 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 all ComponentMetadata 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 all ComponentMetadata objects of the specified Component Metadata type. The supported Component Metadata types are ComponentMetadata (which returns the Component Metadata for all defined manager types), BeanMetadata , ServiceReferenceMetadata (which returns both ReferenceMetadata and ReferenceListMetadata objects), and ServiceMetadata. 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.

OSGi™ Compendium
Release 5

Copyright © OSGi Alliance (2000, 2013). All Rights Reserved. Licensed under the OSGi Specification License, Version 2.0