001    package org.picocontainer.script;
002    
003    import java.util.ArrayList;
004    import java.util.HashMap;
005    
006    import junit.framework.Assert;
007    
008    import org.picocontainer.MutablePicoContainer;
009    import org.picocontainer.Parameter;
010    import org.picocontainer.PicoCompositionException;
011    import org.picocontainer.containers.AbstractDelegatingMutablePicoContainer;
012    
013    @SuppressWarnings("serial")
014    public class FooDecoratingPicoContainer extends AbstractDelegatingMutablePicoContainer {
015        public FooDecoratingPicoContainer(MutablePicoContainer delegate) {
016            super(delegate);
017        }
018        public MutablePicoContainer makeChildContainer() {
019            return null;
020        }
021    
022        public MutablePicoContainer addComponent(Object componentKey, Object componentImplementationOrInstance, Parameter... parameters) throws PicoCompositionException {
023            Assert.assertEquals(HashMap.class, componentImplementationOrInstance);
024            return super.addComponent(ArrayList.class, ArrayList.class, parameters);
025        }
026    
027    }