Package org.picocontainer

Examples of org.picocontainer.MutablePicoContainer


            return interfaceX.getIt();
        }
    }

    public void testMoreWeirdness() {
        MutablePicoContainer pico = new DefaultPicoContainer();
        Map map = new HashMap();
        pico.registerComponentInstance(map);
        // See class level javadoc in DefaultPicoContainer - about precedence.
        pico.registerComponentImplementation(InterfaceX.class, Something.class);
        pico.registerComponentImplementation(Disabled.class);
        pico.registerComponentImplementation(Enabled.class);
        pico.registerComponentImplementation(NeedsInterfaceX.class);

        NeedsInterfaceX needsInterfaceX = (NeedsInterfaceX) pico.getComponentInstance(NeedsInterfaceX.class);
        assertEquals("Disabled", needsInterfaceX.getIt());
        map.put("enabled", "blah");
        assertEquals("Enabled", needsInterfaceX.getIt());
    }
View Full Code Here


        public DEFImpl() {
        }
    }

    public void testJohnTalOne() {
        MutablePicoContainer picoContainer = new DefaultPicoContainer();

        picoContainer.registerComponentImplementation("ABC", ABCImpl.class);
        picoContainer.registerComponentImplementation("DEF", DEFImpl.class);

        assertEquals(ABCImpl.class, picoContainer.getComponentInstance("ABC").getClass());
    }
View Full Code Here

            return bar;
        }
    }

    public void testShouldBeAbleShareSameReferenceForDifferentTypes() {
        MutablePicoContainer pico = new DefaultPicoContainer();
        pico.registerComponentImplementation(FooBar.class);
        pico.registerComponentImplementation(NeedsFoo.class);
        pico.registerComponentImplementation(NeedsBar.class);
        NeedsFoo needsFoo = (NeedsFoo) pico.getComponentInstance(NeedsFoo.class);
        NeedsBar needsBar = (NeedsBar) pico.getComponentInstance(NeedsBar.class);
        assertSame(needsFoo.getFoo(), needsBar.getBar());
    }
View Full Code Here

        assertSame(needsFoo.getFoo(), needsBar.getBar());
    }

    public void testSeveralDifferentInstancesCanBeCreatedWithOnePreconfiguredContainer() {
        // create a container that doesn't cache instances
        MutablePicoContainer container = new DefaultPicoContainer(new ConstructorInjectionComponentAdapterFactory());
        container.registerComponentImplementation(NeedsBar.class);

        Bar barOne = new FooBar();
        container.registerComponentInstance(Bar.class, barOne);
        NeedsBar needsBarOne = (NeedsBar) container.getComponentInstance(NeedsBar.class);
        assertSame(barOne, needsBarOne.getBar());

        // reuse the same container - just flip out the existing foo.
        Bar barTwo = new FooBar();
        container.unregisterComponent(Bar.class);
        container.registerComponentInstance(Bar.class, barTwo);
        NeedsBar needsBarTwo = (NeedsBar) container.getComponentInstance(NeedsBar.class);
        assertSame(barTwo, needsBarTwo.getBar());

        assertNotSame(needsBarOne, needsBarTwo);
    }
View Full Code Here

    }

    public void testConstantParameter() throws PicoInitializationException, AssignabilityRegistrationException, NotConcreteRegistrationException, PicoIntrospectionException {
        Object value = new Object();
        ConstantParameter parameter = new ConstantParameter(value);
        MutablePicoContainer picoContainer = new DefaultPicoContainer();
        assertSame(value, parameter.resolveInstance(picoContainer, null, Object.class));
    }
View Full Code Here

        pico.getComponentInstances();
        assertTrue(touchable.wasTouched);
    }

    public void testComponentParameterRespectsExpectedType() {
        MutablePicoContainer picoContainer = new DefaultPicoContainer();
        ComponentAdapter adapter = picoContainer.registerComponentImplementation(Touchable.class, SimpleTouchable.class);
        assertNull(ComponentParameter.DEFAULT.resolveInstance(picoContainer, adapter, TestCase.class));
    }
View Full Code Here

        ComponentAdapter adapter = picoContainer.registerComponentImplementation(Touchable.class, SimpleTouchable.class);
        assertNull(ComponentParameter.DEFAULT.resolveInstance(picoContainer, adapter, TestCase.class));
    }
 
  public void testComponentParameterResolvesPrimitiveType() {
        MutablePicoContainer picoContainer = new DefaultPicoContainer();
        ComponentAdapter adapter = picoContainer.registerComponentInstance("glarch", new Integer(239));
    Parameter parameter = new ComponentParameter("glarch");
    assertNotNull(parameter.resolveInstance(picoContainer,null,Integer.TYPE));
    assertEquals(239, ((Integer)parameter.resolveInstance(picoContainer,null,Integer.TYPE)).intValue());
  }
View Full Code Here

    assertNotNull(parameter.resolveInstance(picoContainer,null,Integer.TYPE));
    assertEquals(239, ((Integer)parameter.resolveInstance(picoContainer,null,Integer.TYPE)).intValue());
  }

    public void testConstantParameterRespectsExpectedType() {
        MutablePicoContainer picoContainer = new DefaultPicoContainer();
        Parameter parameter = new ConstantParameter(new SimpleTouchable());
        ComponentAdapter adapter = picoContainer.registerComponentImplementation(Touchable.class, SimpleTouchable.class);
        assertFalse(parameter.isResolvable(picoContainer, adapter, TestCase.class));
    }
View Full Code Here

        assertFalse(parameter.isResolvable(picoContainer, adapter, TestCase.class));
    }

    public void testParameterRespectsExpectedType() throws PicoInitializationException, NotConcreteRegistrationException, PicoIntrospectionException {
        Parameter parameter = new ConstantParameter(Touchable.class);
        MutablePicoContainer picoContainer = new DefaultPicoContainer();
        assertFalse(parameter.isResolvable(picoContainer, null, TestCase.class));

        ComponentAdapter adapter = picoContainer.registerComponentImplementation(Touchable.class, SimpleTouchable.class);

        assertNull(ComponentParameter.DEFAULT.resolveInstance(picoContainer, adapter, TestCase.class));
    }
View Full Code Here

        assertNull(ComponentParameter.DEFAULT.resolveInstance(picoContainer, adapter, TestCase.class));
    }

    public void testConstantParameterWithPrimitives() throws PicoInitializationException, AssignabilityRegistrationException, NotConcreteRegistrationException, PicoIntrospectionException {
        MutablePicoContainer picoContainer = new DefaultPicoContainer();
        Byte byteValue = new Byte((byte) 5);
        ConstantParameter parameter = new ConstantParameter(byteValue);
        assertSame(byteValue, parameter.resolveInstance(picoContainer, null, Byte.TYPE));
        assertSame(byteValue, parameter.resolveInstance(picoContainer, null, Byte.class));
        Short shortValue = new Short((short) 5);
View Full Code Here

TOP

Related Classes of org.picocontainer.MutablePicoContainer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.