/** * Caches a block of code, returning a handle that can be passed to runCachedBlock(). * * @param id An identifier. If null, a unique identifier is generated * @param code The code * @param namespace If true, the namespace will be set * @return Description of the Return Value * @exception Exception instances are thrown when various BeanShell errors occur * @since jEdit 4.1pre1 */ public BshMethod cacheBlock(String id, String code, boolean namespace) throws Exception { String name = "__internal_" + id; // evaluate a method declaration if (namespace) { _eval(global, name + "(ns) {\nthis.callstack.set(0,ns);\n" + code + "\n}"); return global.getMethod(name, new Class[] {NameSpace.class}); } else { _eval(global, name + "() {\n" + code + "\n}"); return global.getMethod(name, new Class[0]); } } // }}}
/** * Description of the Method * * @param namespace Description of the Parameter * @exception UtilEvalError Description of the Exception */ private void resetDefaultVariables(NameSpace namespace) // throws UtilEvalError { { try { namespace.setVariable("reg", factory, false); } catch (UtilEvalError ex) { log.error(ex, ex); } } // }}}
/** Description of the Method */ public void init() { global = new NameSpace(new BshClassManager(), "Embedded BeanShell interpreter"); // global.importPackage("org.gjt.sp.util"); global.importPackage("org.twdata.TW1606U.gui"); global.importPackage("org.twdata.TW1606U.signal"); global.importPackage("org.twdata.TW1606U.action"); global.importPackage("org.twdata.TW1606U.tw"); global.importPackage("org.twdata.TW1606U.tw.data"); global.importPackage("org.twdata.TW1606U.data"); global.importPackage("org.twdata.TW1606U.tw.model"); global.importPackage("org.twdata.TW1606U.tw.signal"); global.importPackage("org.werx.framework.bus"); interpForMethods = createInterpreter(global); } // }}}