Package org.picocontainer

Examples of org.picocontainer.MutablePicoContainer.registerComponentInstance()


    public void testShouldAllowRegistrationOfArrayAsInstance() {
        MutablePicoContainer pico = new DefaultPicoContainer();

        Descriptor.DescriptorData[] datas = new Descriptor.DescriptorData[3];

        pico.registerComponentInstance(datas);
        pico.registerComponentImplementation(DescriptorDep.class);

        DescriptorDep descriptorDep = (DescriptorDep) pico.getComponentInstanceOfType(DescriptorDep.class);

        assertNotNull(descriptorDep);
View Full Code Here


public abstract class AbstractImplementationHidingPicoContainerTestCase extends AbstractPicoContainerTestCase {


    public void testInstanceIsNotAutomaticallyHidden() {
        MutablePicoContainer pc = createImplementationHidingPicoContainer();
        pc.registerComponentInstance(Map.class, new HashMap());
        Map map = (Map) pc.getComponentInstance(Map.class);
        assertNotNull(map);
        assertTrue(map instanceof HashMap);
    }
View Full Code Here

        MutablePicoContainer mpc = new DefaultPicoContainer();
        mpc.registerComponent(new ConstructorInjectionComponentAdapter(Bowl.class, Bowl.class));
        mpc.registerComponentImplementation(Cod.class);
        Bowl bowl = (Bowl) mpc.getComponentInstance(Bowl.class);
        assertEquals(1, bowl.cods.length);
        mpc.registerComponentInstance("Nemo", new Cod());
        bowl = (Bowl) mpc.getComponentInstance(Bowl.class);
        assertEquals(2, bowl.cods.length);
        assertNotSame(bowl.cods[0], bowl.cods[1]);
    }
View Full Code Here

        }
    }

    public void testShouldProvideInfoAboutDependingWhenAmbiguityHappens() {
        MutablePicoContainer pico = this.createPicoContainer(null);
        pico.registerComponentInstance(new ArrayList());
        pico.registerComponentInstance(new LinkedList());
        pico.registerComponentImplementation(DependsOnCollection.class);
        try {
            pico.getComponentInstanceOfType(DependsOnCollection.class);
            fail();
View Full Code Here

    }

    public void testShouldProvideInfoAboutDependingWhenAmbiguityHappens() {
        MutablePicoContainer pico = this.createPicoContainer(null);
        pico.registerComponentInstance(new ArrayList());
        pico.registerComponentInstance(new LinkedList());
        pico.registerComponentImplementation(DependsOnCollection.class);
        try {
            pico.getComponentInstanceOfType(DependsOnCollection.class);
            fail();
        } catch (AmbiguousComponentResolutionException expected) {
View Full Code Here

   
    private MutablePicoContainer createMutablePicoContainer(Class containerClass, ComponentAdapterFactory caFactory,
                                                      PicoContainer parent) {
        MutablePicoContainer temp = new DefaultPicoContainer();
        temp.registerComponentImplementation(containerClass);
        temp.registerComponentInstance(ComponentAdapterFactory.class, caFactory);
        if (parent != null) {
            temp.registerComponentInstance(PicoContainer.class, parent);
        }
        return (MutablePicoContainer) temp.getComponentInstance(containerClass);
    }
View Full Code Here

                                                      PicoContainer parent) {
        MutablePicoContainer temp = new DefaultPicoContainer();
        temp.registerComponentImplementation(containerClass);
        temp.registerComponentInstance(ComponentAdapterFactory.class, caFactory);
        if (parent != null) {
            temp.registerComponentInstance(PicoContainer.class, parent);
        }
        return (MutablePicoContainer) temp.getComponentInstance(containerClass);
    }

    private AspectablePicoContainer mixinAspectablePicoContainer(AspectsManager aspectsManager,
View Full Code Here

            String className = (String) classValue;
            key = key == null ? className : key;
            retval = nano.registerComponentImplementation(key, className, parameterArray);
        } else if (instance != null) {
            key = key == null ? instance.getClass() : key;
            retval = pico.registerComponentInstance(key, instance);
        } else {
            throw new NanoContainerMarkupException("Must specify a class attribute for a component as a class name (string) or Class. Attributes:" + attributes);
        }

        return retval;
View Full Code Here

        assertFalse(hasMixin instanceof AnotherInterface);
    }

    public void testCreateWithParentContainer() {
        MutablePicoContainer parent = new DefaultPicoContainer();
        parent.registerComponentInstance("key", "value");
        AspectablePicoContainerFactory containerFactory = new DynaopAspectablePicoContainerFactory();
        PicoContainer child = containerFactory.createContainer(parent);
        assertEquals("value", child.getComponentInstance("key"));
    }
   
View Full Code Here

    }

    public Object createNewNode(NanoContainer parentContainer, Map attributes) throws ClassNotFoundException {
        MutablePicoContainer pico = parentContainer.getPico();
        Object bean = createBean(attributes);
        pico.registerComponentInstance(bean);
        return bean;
    }


    /**
 
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. 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.