001 /*******************************************************************************
002 * Copyright (C) PicoContainer Organization. All rights reserved.
003 * ---------------------------------------------------------------------------
004 * The software in this package is published under the terms of the BSD style
005 * license a copy of which has been included with this distribution in the
006 * LICENSE.txt file.
007 ******************************************************************************/
008 package org.picocontainer.script.util;
009
010 import org.picocontainer.ComponentFactory;
011 import org.picocontainer.DefaultPicoContainer;
012 import org.picocontainer.PicoContainer;
013 import org.picocontainer.classname.ClassLoadingPicoContainer;
014 import org.picocontainer.classname.DefaultClassLoadingPicoContainer;
015 import org.picocontainer.containers.EmptyPicoContainer;
016 import org.picocontainer.behaviors.Caching;
017
018 import java.util.Set;
019 import java.util.List;
020 import java.util.Map;
021
022 /**
023 * Helper for ScriptedPicoContainer
024 *
025 * @author Paul Hammant
026 */
027 public class ContainerElementHelper {
028
029 public static ClassLoadingPicoContainer makeScriptedPicoContainer(ComponentFactory componentFactory,
030 PicoContainer parent, ClassLoader classLoader) {
031 if (parent == null) {
032 parent = new EmptyPicoContainer();
033 }
034 if (componentFactory == null) {
035 componentFactory = new Caching();
036 }
037 return new DefaultClassLoadingPicoContainer(classLoader, new DefaultPicoContainer(componentFactory, parent));
038
039 }
040
041 public static void debug(List<?> arg0, Map<?,?> arg1) {
042 System.out.println("-->debug " + arg0.size() + " " + arg1.size());
043 for (int i = 0; i < arg0.size(); i++) {
044 Object o = arg0.get(i);
045 System.out.println("--> arg0[" + i + "] " + o);
046
047 }
048 Set<?> keys = arg1.keySet();
049 int i = 0;
050 for (Object o : keys) {
051 System.out.println("--> arg1[" + i++ + "] " + o + ", " + arg1.get(o));
052
053 }
054 }
055
056 }