Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

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  }