An instance of IoCComponentProviderFactory may be registered with a Client or WebApplication instance on contruction and initialization respectively.
When a component, a resource class or provider class, needs to be managed the runtime will defer to the registered IoCComponentProviderFactory instance to obtain a {@link IoCComponentProvider} from which a component instance,of the resource class or provider class, can be obtained. If the component is not supported then a null value may be returned and the runtime will manage the component.
Specializations of {@link IoCComponentProvider} must be returned by the getComponentProvider
methods that declare the boundary of responsibility, between the runtime and the underlying IoC framework, for management of a component.
If an instance of {@link IoCManagedComponentProvider} is returned thenthe component is fully managed by the underlying IoC framework, which includes managing the construction, injection and destruction according to the life-cycle declared in the IoC framework's semantics.
If an instance of {@link IoCInstantiatedComponentProvider} is returned thenthe component is instantiated and injected by the underlying IoC framework, but the life-cycle is managed by the runtime according to the life-cycle declared in the runtime's semantics.
If an instance of {@link IoCProxiedComponentProvider} is returned then thecomponent is fully managed by the runtime but when an instance is created the underlying IoC framework is deferred to for creating a proxy of the component instance. @author Paul.Sandoz@Sun.Com
|
|