1 package rero.bridges.alias; 2 3 import java.util.*; 4 import java.io.*; 5 6 import sleep.engine.*; 7 import sleep.interfaces.*; 8 import sleep.runtime.*; 9 10 import rero.script.*; 11 12 13 public class ScriptAlias implements rero.ircfw.interfaces.FrameworkConstants 14 { 15 protected Block code; 16 protected ScriptAlias predecessor; 17 protected ScriptInstance owner; protected Hashtable env; 19 20 public ScriptAlias(ScriptInstance si, Block _code) 21 { 22 this(si, _code, null); 23 } 24 25 public ScriptAlias(ScriptInstance si, Block _code, ScriptAlias _predecessor) 26 { 27 code = _code; 28 predecessor = _predecessor; 29 owner = si; 30 31 env = si.getScriptEnvironment().getEnvironment(); } 33 34 public boolean isValid() 35 { 36 return owner.isLoaded(); 37 } 38 39 public ScriptAlias getPredecessor() 40 { 41 return predecessor; 42 } 43 44 public void runAlias(String name, String parameters) 45 { 46 synchronized (owner.getScriptVariables()) 47 { 48 ScriptVariables vars = owner.getScriptVariables(); 49 50 vars.pushLocalLevel(); 51 52 Variable localLevel = vars.getLocalVariables(); 53 54 HashMap eventData = new HashMap(); 58 eventData.put($PARMS$, parameters); 59 eventData.put($DATA$, name + " " + parameters); 60 61 LocalVariables locals = (LocalVariables)localLevel; 62 locals.setDataSource(eventData); 63 64 SleepUtils.runCode(code, owner.getScriptEnvironment()); 68 69 vars.popLocalLevel(); 70 } 71 } 72 } 73 | Popular Tags |