Title: [waffle-scm] [471] trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar: Refactored Injection type to be an inner enum of Registrar.

Diff

Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar/AbstractRegistrar.java (470 => 471)

--- trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar/AbstractRegistrar.java	2007-12-12 14:36:08 UTC (rev 470)
+++ trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar/AbstractRegistrar.java	2007-12-12 15:21:59 UTC (rev 471)
@@ -23,8 +23,8 @@
         this.delegate = delegate;
     }
 
-    public Registrar setInjectionType(InjectionType injectionType) {
-        delegate.setInjectionType(injectionType);
+    public Registrar useInjection(Injection injectionType) {
+        delegate.useInjection(injectionType);
         return this;
     }
 

Deleted: trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar/InjectionType.java (470 => 471)

--- trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar/InjectionType.java	2007-12-12 14:36:08 UTC (rev 470)
+++ trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar/InjectionType.java	2007-12-12 15:21:59 UTC (rev 471)
@@ -1,6 +0,0 @@
-package org.codehaus.waffle.registrar;
-
-public enum InjectionType {
-    CONSTRUCTOR, // default
-    SETTER
-}

Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar/Registrar.java (470 => 471)

--- trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar/Registrar.java	2007-12-12 14:36:08 UTC (rev 470)
+++ trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar/Registrar.java	2007-12-12 15:21:59 UTC (rev 471)
@@ -18,8 +18,25 @@
  */
 public interface Registrar {
 
-    Registrar setInjectionType(InjectionType injectionType);
+    enum Injection {
+        CONSTRUCTOR, // default
+        SETTER
+    }
+    
+    /**
+     * Use the given injection type for component instantiation
+     * 
+     * @param injection the Injection to use
+     * @return The Registrar
+     */
+    Registrar useInjection(Injection injection);
 
+    /**
+     * Determines if a component is already registered
+     * 
+     * @param typeOrInstance the component Class type or Object instance/key
+     * @return A boolean flag, <code>true</code> if component is registered
+     */
     boolean isRegistered(Object typeOrInstance);
 
     /**

Modified: trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar/pico/PicoRegistrar.java (470 => 471)

--- trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar/pico/PicoRegistrar.java	2007-12-12 14:36:08 UTC (rev 470)
+++ trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar/pico/PicoRegistrar.java	2007-12-12 15:21:59 UTC (rev 471)
@@ -11,7 +11,6 @@
 package org.codehaus.waffle.registrar.pico;
 
 import org.codehaus.waffle.monitor.RegistrarMonitor;
-import org.codehaus.waffle.registrar.InjectionType;
 import org.codehaus.waffle.registrar.Registrar;
 import org.codehaus.waffle.registrar.RubyAwareRegistrar;
 import org.picocontainer.ComponentAdapter;
@@ -34,7 +33,7 @@
     private final MutablePicoContainer picoContainer;
     private final LifecycleStrategy lifecycleStrategy;
     private final RegistrarMonitor registrarMonitor;
-    private InjectionType injectionType = InjectionType.CONSTRUCTOR;
+    private Injection injection = Injection.CONSTRUCTOR;
 
     public PicoRegistrar(MutablePicoContainer picoContainer,
                          LifecycleStrategy lifecycleStrategy,
@@ -44,8 +43,8 @@
         this.registrarMonitor = registrarMonitor;
     }
 
-    public Registrar setInjectionType(InjectionType injectionType) {
-        this.injectionType = injectionType;
+    public Registrar useInjection(Injection injection) {
+        this.injection = injection;
         return this;
     }
 
@@ -114,7 +113,7 @@
     }
 
     private ComponentAdapter buildComponentAdapter(Object key, Class<?> type, Object... parameters) {
-        if (injectionType == InjectionType.CONSTRUCTOR) {
+        if (injection == Injection.CONSTRUCTOR) {
             ConstructorInjectionComponentAdapterFactory factory
                     = new ConstructorInjectionComponentAdapterFactory(false, lifecycleStrategy);
 

Modified: trunk/waffle-core/src/test/java/org/codehaus/waffle/registrar/pico/PicoRegistrarTest.java (470 => 471)

--- trunk/waffle-core/src/test/java/org/codehaus/waffle/registrar/pico/PicoRegistrarTest.java	2007-12-12 14:36:08 UTC (rev 470)
+++ trunk/waffle-core/src/test/java/org/codehaus/waffle/registrar/pico/PicoRegistrarTest.java	2007-12-12 15:21:59 UTC (rev 471)
@@ -10,28 +10,28 @@
  *****************************************************************************/
 package org.codehaus.waffle.registrar.pico;
 
+import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
+import org.codehaus.waffle.context.pico.PicoLifecycleStrategy;
 import org.codehaus.waffle.monitor.RegistrarMonitor;
 import org.codehaus.waffle.monitor.SilentMonitor;
-import static org.codehaus.waffle.registrar.InjectionType.SETTER;
 import org.codehaus.waffle.registrar.Registrar;
 import org.codehaus.waffle.testmodel.ConstructorInjectionComponent;
 import org.codehaus.waffle.testmodel.FakeBean;
 import org.codehaus.waffle.testmodel.FakeController;
 import org.codehaus.waffle.testmodel.SetterInjectionComponent;
-import org.codehaus.waffle.context.pico.PicoLifecycleStrategy;
 import org.jmock.Expectations;
 import org.jmock.Mockery;
 import org.jmock.integration.junit4.JMock;
-import static org.junit.Assert.assertNotSame;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.picocontainer.MutablePicoContainer;
-import org.picocontainer.monitors.NullComponentMonitor;
 import org.picocontainer.defaults.ConstructorInjectionComponentAdapter;
 import org.picocontainer.defaults.DefaultPicoContainer;
 import org.picocontainer.defaults.LifecycleStrategy;
+import org.picocontainer.monitors.NullComponentMonitor;
 
 /**
  * @author Mauro Talevi
@@ -192,14 +192,14 @@
     }
 
     @Test
-    public void canSwitchInstantiationType() {
+    public void canSwitchInjectionType() {
         FakeBean fakeBean = new FakeBean();
         MutablePicoContainer pico = new DefaultPicoContainer();
         PicoRegistrar picoRegistrar = new PicoRegistrar(pico, lifecycleStrategy, new SilentMonitor());
 
         picoRegistrar.registerInstance(fakeBean)
                 .register(ConstructorInjectionComponent.class)
-                .setInjectionType(SETTER)
+                .useInjection(Registrar.Injection.SETTER)
                 .register(SetterInjectionComponent.class);
 
         ConstructorInjectionComponent cia = (ConstructorInjectionComponent) pico.getComponentInstance(ConstructorInjectionComponent.class);


To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to