[picocontainer-dev] Re: [picocontainer-scm] [4867] java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/Injector.java: iadded some injectors
Paul Hammant <[email protected]> Thu, 14 Aug 2008 00:06:05 -0700
| Newsgroups | gmane.comp.java.picocontainer.devel |
|---|---|
| Message-ID | <[email protected]> |
Konstantin,
Did you mean to do these static factories for CA's or CAFs ?
I think you mean the latter -
public static ComponentAdapterFactory annotatedField( ...
Regards,
- Paul
On Aug 5, 2008, at 12:43 PM, ko5tik-yCVjj/[email protected] wrote:
> Revision
> 4867
> Author
> ko5tik
> Date
> 2008-08-05 14:43:35 -0500 (Tue, 05 Aug 2008)
> Log Message
>
> iadded some injectors
> Modified Paths
>
> java/2.x/trunk/pico/container/src/java/org/picocontainer/injectors/
> Injector.java
> Diff
>
> Modified: java/2.x/trunk/pico/container/src/java/org/picocontainer/
> injectors/Injector.java (4866 => 4867)
> --- java/2.x/trunk/pico/container/src/java/org/picocontainer/
> injectors/Injector.java 2008-08-05 17:59:38 UTC (rev 4866)
> +++ java/2.x/trunk/pico/container/src/java/org/picocontainer/
> injectors/Injector.java 2008-08-05 19:43:35 UTC (rev 4867)
> @@ -5,6 +5,8 @@
> import org.picocontainer.LifecycleStrategy;
> import org.picocontainer.Parameter;
>
> +import java.lang.annotation.Annotation;
> +
> /**
> * convenience class providing static methods to conveniently
> create injectors
> * ( like org.junit.Assert )
> @@ -63,5 +65,79 @@
> lifecycleStrategy, useNames, rememberChosenCtor);
> }
>
> + /**
> + * convenience method to create annotated field injector
> + * @param key
> + * @param impl
> + * @param parameters
> + * @param componentMonitor
> + * @param lifecycleStrategy
> + * @param injectionAnnotation
> + * @param useNames
> + * @return
> + */
> + public static ComponentAdapter annotatedField(Object key,
> + Class<?> impl,
> + Parameter[] parameters,
> + ComponentMonitor componentMonitor,
> + LifecycleStrategy
> lifecycleStrategy,
> + Class<? extends Annotation>
> injectionAnnotation, boolean useNames) {
> + return new AnnotatedFieldInjector(key, impl, parameters,
> componentMonitor, lifecycleStrategy, injectionAnnotation,useNames);
> + }
>
> + /**
> + * convenience method to create annotated method injector
> + * @param key
> + * @param impl
> + * @param parameters
> + * @param monitor
> + * @param lifecycleStrategy
> + * @param injectionAnnotation
> + * @param useNames
> + * @return
> + */
> + public static ComponentAdapter annotatedMethod(Object key,
> + Class<?> impl,
> + Parameter[] parameters,
> + ComponentMonitor monitor,
> + LifecycleStrategy
> lifecycleStrategy, Class<? extends Annotation> injectionAnnotation,
> boolean useNames) {
> + return new AnnotatedMethodInjector( key, impl, parameters,
> monitor, lifecycleStrategy, injectionAnnotation, useNames) ;
> +
> + }
> +
> +
> + /**
> + * creates composite injector
> + * @param componentKey
> + * @param componentImplementation
> + * @param parameters
> + * @param monitor
> + * @param lifecycleStrategy
> + * @param useNames
> + * @param injectors
> + * @return
> + */
> + public static ComponentAdapter composite(Object componentKey,
> Class<?> componentImplementation, Parameter[] parameters,
> ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy,
> + boolean useNames,
> org.picocontainer.Injector... injectors) {
> + return new CompositeInjector(componentKey,
> componentImplementation, parameters, monitor, lifecycleStrategy,
> useNames, injectors);
> + }
> +
> +
> + /**
> + * conventiet method to create method injector
> + * @param componentKey
> + * @param componentImplementation
> + * @param parameters
> + * @param monitor
> + * @param lifecycleStrategy
> + * @param methodName
> + * @param useNames
> + * @return
> + * @throws AbstractInjector.NotConcreteRegistrationException
> + */
> + public static ComponentAdapter method(final Object
> componentKey, final Class componentImplementation, Parameter[]
> parameters, ComponentMonitor monitor,
> + LifecycleStrategy lifecycleStrategy,
> String methodName, boolean useNames) throws
> AbstractInjector.NotConcreteRegistrationException {
> + return new MethodInjector(componentKey,
> componentImplementation, parameters, monitor,
> + lifecycleStrategy, methodName, useNames);
> + }
> }
>
> To unsubscribe from this list please visit:
>
> http://xircles.codehaus.org/manage_email
>