/** * Create a {@link com.picocontainer.injectors.SetterInjection.SetterInjector}. * * @param monitor * @param lifecycle * @param componentProps * @param key The component's key * @param impl The class of the bean. * @return Returns a new {@link com.picocontainer.injectors.SetterInjection.SetterInjector}. * @throws com.picocontainer.PicoCompositionException if dependencies cannot * be solved or if the implementation is an interface or an * abstract class. */ public <T> ComponentAdapter<T> createComponentAdapter(final ComponentMonitor monitor, final LifecycleStrategy lifecycle, final Properties componentProps, final Object key, final Class<T> impl, final ConstructorParameters constructorParams, final FieldParameters[] fieldParams, final MethodParameters[] methodParams) throws PicoCompositionException { boolean requireConsumptionOfAllParameters = !(AbstractBehavior.arePropertiesPresent(componentProps, Characteristics.ALLOW_UNUSED_PARAMETERS, false)); return wrapLifeCycle(monitor.newInjector(new AnnotatedMethodInjector<T>(key, impl, methodParams, monitor, useNames, requireConsumptionOfAllParameters, injectionAnnotations)), lifecycle); }
/** * Create a {@link com.picocontainer.injectors.SetterInjection.SetterInjector}. * * @param monitor * @param lifecycle * @param componentProps * @param key The component's key * @param impl The class of the bean. * @return Returns a new {@link com.picocontainer.injectors.SetterInjection.SetterInjector}. * @throws com.picocontainer.PicoCompositionException if dependencies cannot * be solved or if the implementation is an interface or an * abstract class. */ public <T> ComponentAdapter<T> createComponentAdapter(final ComponentMonitor monitor, final LifecycleStrategy lifecycle, final Properties componentProps, final Object key, final Class<T> impl, final ConstructorParameters constructorParams, final FieldParameters[] fieldParams, final MethodParameters[] methodParams) throws PicoCompositionException { boolean requireConsumptionOfAllParameters = !(AbstractBehavior.arePropertiesPresent(componentProps, Characteristics.ALLOW_UNUSED_PARAMETERS, false)); return wrapLifeCycle(monitor.newInjector(new AnnotatedMethodInjector<T>(key, impl, methodParams, monitor, useNames, requireConsumptionOfAllParameters, injectionAnnotations)), lifecycle); }