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 classNested classes/interfaces inherited from class org.picocontainer.injectors.AbstractInjector
AbstractInjector.AmbiguousComponentResolutionException, AbstractInjector.CyclicDependencyException, AbstractInjector.NotConcreteRegistrationException, AbstractInjector.UnsatisfiableDependenciesExceptionNested 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 voidboxParameters(Type[] parameterTypes) protected Annotation[]getBindings(Annotation[][] annotationss) protected Object[]getMemberArguments(PicoContainer container, AccessibleObject member, Type[] parameterTypes, Annotation[] bindings) protected ObjectgetParameter(PicoContainer container, AccessibleObject member, int i, Type parameterType, Annotation binding, Parameter currentParameter, ComponentAdapter<?> injecteeAdapter) protected com.thoughtworks.paranamer.Paranamerprotected booleanisNullParamAllowed(AccessibleObject member, int i) Checks to see if a null parameter is allowed in the given constructor/field/method.protected voidnullCheck(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, verifyMethods inherited from class org.picocontainer.adapters.AbstractAdapter
changeMonitor, checkTypeCompatibility, currentMonitor, findAdapterOfType, getComponentImplementation, getComponentKey, getDelegate, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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
-