00001 /* 00002 * JythonFactory.java 00003 * 00004 * Created on 13 August 2003, 10:04 00005 */ 00006 00007 package GuiComponents.scripting; 00008 import org.apache.bsf.*; 00009 import GuiComponents.Console.*; 00010 00015 public class JythonFactory implements ScriptFactory { 00016 00017 public JConsole createConsole() { 00018 return new JConsole(); 00019 } 00020 00021 public BSFEngine createEngine(BSFManager manager) { 00022 try { 00023 return manager.loadScriptingEngine("jython"); 00024 } catch (BSFException be) { 00025 System.err.println("Error loading jython scripting engine: " + be); 00026 return null; 00027 } 00028 } 00029 00030 public NameCompleter createNameCompleter(BSFEngine engine, SearchableObjectRegistry registry) { 00031 return registry; 00032 } 00033 00034 public Interpreter createInterpreter(BSFManager manager) { 00035 BSFEngine engine = createEngine(manager); 00036 JConsole console = new JConsole(); 00037 NameCompleter nc = createNameCompleter(engine, (SearchableObjectRegistry)manager.getObjectRegistry()); 00038 return new JythonInterpreter(console, engine, nc); 00039 } 00040 00041 }