org.picocontainer.defaults
Interface ComponentAdapterFactory

All Known Implementing Classes:
BeanPropertyComponentAdapterFactory, CachingComponentAdapterFactory, ConstructorInjectionComponentAdapterFactory, DecoratingComponentAdapterFactory, DefaultComponentAdapterFactory, ImplementationHidingComponentAdapterFactory, ImplementationHidingComponentAdapterFactory, MonitoringComponentAdapterFactory, SetterInjectionComponentAdapterFactory, SynchronizedComponentAdapterFactory

public interface ComponentAdapterFactory

A component adapter factory is responsible for creating ComponentAdapter component adapters. The main use of the component adapter factory is inside DefaultPicoContainer.DefaultPicoContainer(ComponentAdapterFactory), where it can be used to customize the default component adapter that is used when none is specified explicitly.

Version:
$Revision: 2230 $
Author:
Jon Tirsén, Mauro Talevi

Method Summary
 ComponentAdapter createComponentAdapter(java.lang.Object componentKey, java.lang.Class componentImplementation, Parameter[] parameters)
          Create a new component adapter based on the specified arguments.
 

Method Detail

createComponentAdapter

ComponentAdapter createComponentAdapter(java.lang.Object componentKey,
                                        java.lang.Class componentImplementation,
                                        Parameter[] parameters)
                                        throws PicoIntrospectionException,
                                               AssignabilityRegistrationException,
                                               NotConcreteRegistrationException
Create a new component adapter based on the specified arguments.

Parameters:
componentKey - the key to be associated with this adapter. This value should be returned from a call to ComponentAdapter.getComponentKey() on the created adapter.
componentImplementation - the implementation class to be associated with this adapter. This value should be returned from a call to ComponentAdapter.getComponentImplementation() on the created adapter. Should not be null.
parameters - additional parameters to use by the component adapter in constructing component instances. These may be used, for example, to make decisions about the arguments passed into the component constructor. These should be considered hints; they may be ignored by some implementations. May be null, and may be of zero length.
Returns:
a new component adapter based on the specified arguments. Should not return null.
Throws:
PicoIntrospectionException - if the creation of the component adapter results in a PicoIntrospectionException.
AssignabilityRegistrationException - if the creation of the component adapter results in a AssignabilityRegistrationException.
NotConcreteRegistrationException - if the creation of the component adapter results in a NotConcreteRegistrationException.