Package org.picocontainer.injectors
Class AdaptingInjection
java.lang.Object
org.picocontainer.injectors.AbstractInjectionFactory
org.picocontainer.injectors.AdaptingInjection
- All Implemented Interfaces:
Serializable
,ComponentFactory
,InjectionFactory
Creates injector instances, depending on the injection characteristics of the component class.
It will attempt to create a component adapter with - in order of priority:
- Annotated field injection: if annotation
Inject
is found for field - Annotated method injection: if annotation
Inject
is found for method - Setter injection: if
invalid reference
Characteristics.SDI
- Method injection: if
invalid reference
Characteristics.METHOD_INJECTION
- Constructor injection (the default, must find
invalid reference
Characteristics.CDI
- Author:
- Paul Hammant, Mauro Talevi
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription<T> ComponentAdapter
<T> createComponentAdapter
(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters) Create a new component adapter based on the specified arguments.Methods inherited from class org.picocontainer.injectors.AbstractInjectionFactory
accept, verify, wrapLifeCycle
-
Constructor Details
-
AdaptingInjection
public AdaptingInjection()
-
-
Method Details
-
createComponentAdapter
public <T> ComponentAdapter<T> createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters) throws PicoCompositionException Description copied from interface:ComponentFactory
Create a new component adapter based on the specified arguments.- Parameters:
componentMonitor
- the component monitorlifecycleStrategy
- te lifecycle strategycomponentProperties
- the component propertiescomponentKey
- the key to be associated with this adapter. This value should be returned from a call toComponentAdapter.getComponentKey()
on the created adapter.componentImplementation
- the implementation class to be associated with this adapter. This value should be returned from a call toComponentAdapter.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:
PicoCompositionException
- if the creation of the component adapter results in aPicoCompositionException
.
-