00001
00004 package GuiComponents.scripting;
00005
00006 import GuiComponents.Console.*;
00007 import org.apache.bsf.*;
00008
00014 public class BeanShellFactory implements ScriptFactory {
00015 public BSFEngine createEngine(BSFManager manager) {
00016 try {
00017
00018 String [] extensions = { "bsh" };
00019
00020 return manager.loadScriptingEngine("beanshell");
00021 } catch (BSFException be) {
00022 System.err.println("Error loading beanshell scripting engine: " + be);
00023 return null;
00024 }
00025 }
00026
00027 public JConsole createConsole() {
00028 return new JConsole();
00029 }
00030
00031 public NameCompleter createNameCompleter(BSFEngine engine, SearchableObjectRegistry registry) {
00032
00033 return registry;
00034 }
00035
00036 public Interpreter createInterpreter(BSFManager manager) {
00037 BSFEngine engine = createEngine(manager);
00038 JConsole console = new JConsole();
00039 NameCompleter nc = createNameCompleter(engine, (SearchableObjectRegistry)manager.getObjectRegistry());
00040 return new BeanShellInterpreter(console, engine, nc);
00041 }
00042 }