Source code: org/alicebot/server/core/interpreter/RhinoInterpreter.java
1 // Decompiled by Jad v1.5.8c. Copyright 2001 Pavel Kouznetsov.
2 // Jad home page: http://www.geocities.com/kpdus/jad.html
3 // Decompiler options: packimports(3)
4
5 package org.alicebot.server.core.interpreter;
6
7 import java.util.StringTokenizer;
8 import org.alicebot.server.core.Interpreter;
9 import org.alicebot.server.core.logging.Log;
10 import org.mozilla.javascript.Context;
11
12 public class RhinoInterpreter
13 implements Interpreter
14 {
15
16 public RhinoInterpreter()
17 {
18 }
19
20 public String evaluate(String s)
21 {
22 Log.log("evaluate: \"" + s + "\"", Log.INTERPRETER);
23 Context context = Context.enter();
24 org.mozilla.javascript.Scriptable scriptable = context.initStandardObjects(null);
25 Object obj = null;
26 try
27 {
28 obj = context.evaluateString(scriptable, s, "<cmd>", 1, null);
29 }
30 catch(Exception exception)
31 {
32 Log.userinfo("JavaScript exception (see interpreter log).", Log.ERROR);
33 Log.log(exception, Log.INTERPRETER);
34 for(StringTokenizer stringtokenizer = new StringTokenizer(s, System.getProperty("line.separator")); stringtokenizer.hasMoreTokens(); Log.log(stringtokenizer.nextToken(), Log.INTERPRETER));
35 }
36 Context.exit();
37 if(obj != null)
38 {
39 return obj.toString();
40 } else
41 {
42 Log.userinfo("JavaScript returned null!", Log.INTERPRETER);
43 return "";
44 }
45 }
46
47 private static final String CMD = "<cmd>";
48 private static final String EMPTY_STRING = "";
49 }