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 }