1 package org.sapia.gumby.script; 2 3 import java.util.HashMap ; 4 import java.util.Map ; 5 6 import org.sapia.gumby.script.bsh.BeanshellEngine; 7 import org.sapia.gumby.script.pnuts.PnutsEngine; 8 9 24 public class EngineFactory { 25 26 private static final String DEFAULT_ENGINE_KEY = "bsh"; 27 28 private static Map _engines = new HashMap (); 29 30 static { 31 _engines.put(DEFAULT_ENGINE_KEY, new BeanshellEngine()); 32 _engines.put("pnuts", new PnutsEngine()); 33 } 34 35 public static Engine getEngineFor(String name) { 36 if(name == null) { 37 return getDefaultEngine(); 38 } 39 Engine eg = (Engine) _engines.get(name); 40 if(eg == null) { 41 throw new IllegalArgumentException ("No scripting engine found for: " 42 + name); 43 } 44 return eg; 45 } 46 47 public static Engine getDefaultEngine() { 48 return getEngineFor(DEFAULT_ENGINE_KEY); 49 } 50 } 51 | Popular Tags |