org.picocontainer.injectors
Class AdaptingInjection
java.lang.Object
org.picocontainer.injectors.AbstractInjectionFactory
org.picocontainer.injectors.AdaptingInjection
- All Implemented Interfaces:
- Serializable, ComponentFactory, InjectionFactory
public class AdaptingInjection
- extends AbstractInjectionFactory
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
Characteristics.SDI
is found
- Method injection: if
Characteristics.METHOD_INJECTION
if found
- Constructor injection (the default, must find
Characteristics.CDI
)
- Author:
- Paul Hammant, Mauro Talevi
- See Also:
AnnotatedFieldInjection
,
AnnotatedMethodInjection
,
SetterInjection
,
MethodInjection
,
ConstructorInjection
,
Serialized Form
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AdaptingInjection
public AdaptingInjection()
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 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:
PicoCompositionException
- if the creation of the component adapter
results in a PicoCompositionException
.
Copyright © 2003-2010 Codehaus. All Rights Reserved.