Package org.picocontainer.injectors
Class SingleMemberInjector<T>
java.lang.Object
org.picocontainer.adapters.AbstractAdapter<T>
org.picocontainer.injectors.AbstractInjector<T>
org.picocontainer.injectors.SingleMemberInjector<T>
- All Implemented Interfaces:
Serializable
,ComponentAdapter<T>
,ComponentMonitorStrategy
,Injector<T>
- Direct Known Subclasses:
ConstructorInjector
,MethodInjector
Injection will happen in a single member function on the component.
- Author:
- Paul Hammant
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Nested classes/interfaces inherited from class org.picocontainer.injectors.AbstractInjector
AbstractInjector.AmbiguousComponentResolutionException, AbstractInjector.CyclicDependencyException, AbstractInjector.NotConcreteRegistrationException, AbstractInjector.UnsatisfiableDependenciesException
Nested classes/interfaces inherited from interface org.picocontainer.ComponentAdapter
ComponentAdapter.NOTHING
-
Field Summary
Fields inherited from class org.picocontainer.injectors.AbstractInjector
parameters, verifyingGuard
-
Constructor Summary
ConstructorsConstructorDescriptionSingleMemberInjector
(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
boxParameters
(Type[] parameterTypes) protected Annotation[]
getBindings
(Annotation[][] annotationss) protected Object[]
getMemberArguments
(PicoContainer container, AccessibleObject member, Type[] parameterTypes, Annotation[] bindings) protected Object
getParameter
(PicoContainer container, AccessibleObject member, int i, Type parameterType, Annotation binding, Parameter currentParameter, ComponentAdapter<?> injecteeAdapter) protected com.thoughtworks.paranamer.Paranamer
protected boolean
isNullParamAllowed
(AccessibleObject member, int i) Checks to see if a null parameter is allowed in the given constructor/field/method.protected void
nullCheck
(AccessibleObject member, int i, ParameterNameBinding expectedNameBinding, Object result) Methods inherited from class org.picocontainer.injectors.AbstractInjector
accept, box, caughtIllegalAccessException, caughtIllegalAccessException, caughtInstantiationException, caughtInvocationTargetException, createDefaultParameters, decorateComponentInstance, getComponentInstance, getComponentInstance, getDescriptor, newInstance, useNames, verify
Methods inherited from class org.picocontainer.adapters.AbstractAdapter
changeMonitor, checkTypeCompatibility, currentMonitor, findAdapterOfType, getComponentImplementation, getComponentKey, getDelegate, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.picocontainer.ComponentAdapter
findAdapterOfType, getComponentImplementation, getComponentKey, getDelegate
-
Constructor Details
-
SingleMemberInjector
public SingleMemberInjector(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames)
-
-
Method Details
-
getParanamer
protected com.thoughtworks.paranamer.Paranamer getParanamer() -
getMemberArguments
protected Object[] getMemberArguments(PicoContainer container, AccessibleObject member, Type[] parameterTypes, Annotation[] bindings) -
boxParameters
-
getParameter
protected Object getParameter(PicoContainer container, AccessibleObject member, int i, Type parameterType, Annotation binding, Parameter currentParameter, ComponentAdapter<?> injecteeAdapter) -
nullCheck
protected void nullCheck(AccessibleObject member, int i, ParameterNameBinding expectedNameBinding, Object result) -
isNullParamAllowed
Checks to see if a null parameter is allowed in the given constructor/field/method. The default version allows null if the target object is not a primitive type.- Parameters:
member
- constructor method or fieldi
- parameter #.- Returns:
- true if the null parameter might be allowed.
-
getBindings
-