- Revision
- 471
- Author
- mauro
- Date
- 2007-12-12 09:21:59 -0600 (Wed, 12 Dec 2007)
Log Message
Refactored Injection type to be an inner enum of Registrar.
Modified Paths
- trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar/AbstractRegistrar.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar/Registrar.java
- trunk/waffle-core/src/main/java/org/codehaus/waffle/registrar/pico/PicoRegistrar.java
- trunk/waffle-core/src/test/java/org/codehaus/waffle/registrar/pico/PicoRegistrarTest.java
Removed Paths
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:
