[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
>