001 package org.nanocontainer.script;
002
003 import org.picocontainer.alternatives.AbstractDelegatingMutablePicoContainer;
004 import org.picocontainer.MutablePicoContainer;
005 import org.picocontainer.ComponentAdapter;
006 import org.picocontainer.PicoRegistrationException;
007 import org.picocontainer.Parameter;
008
009 import java.util.HashMap;
010 import java.util.ArrayList;
011
012 import junit.framework.Assert;
013
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 ComponentAdapter registerComponentImplementation(Object componentKey, Class componentImplementation, Parameter[] parameters) throws PicoRegistrationException {
023 Assert.assertEquals(HashMap.class, componentImplementation);
024 return super.registerComponentImplementation(ArrayList.class, ArrayList.class, parameters);
025 }
026 public ComponentAdapter registerComponentImplementation(Object componentKey, Class componentImplementation) throws PicoRegistrationException {
027 Assert.assertEquals(HashMap.class, componentImplementation);
028 return super.registerComponentImplementation(ArrayList.class, ArrayList.class);
029 }
030
031 }