KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jruby > demo > DOMScriptingApplet


1 package org.jruby.demo;
2
3 import java.applet.Applet JavaDoc;
4 import java.io.IOException JavaDoc;
5 import java.io.PipedInputStream JavaDoc;
6 import java.io.PipedOutputStream JavaDoc;
7 import java.io.PrintStream JavaDoc;
8 import java.util.ArrayList JavaDoc;
9
10 import org.jruby.Ruby;
11 import org.jruby.RubyInstanceConfig;
12
13 public class DOMScriptingApplet extends Applet JavaDoc {
14
15     public void start() {
16         super.start();
17
18         try {
19             final PipedInputStream JavaDoc pipeIn = new PipedInputStream JavaDoc();
20             final PipedOutputStream JavaDoc out = new PipedOutputStream JavaDoc(pipeIn);
21             final PipedInputStream JavaDoc in = new PipedInputStream JavaDoc();
22             final PipedOutputStream JavaDoc pipeOut = new PipedOutputStream JavaDoc(in);
23             final RubyInstanceConfig config = new RubyInstanceConfig() {{
24                 setInput(pipeIn);
25                 setOutput(new PrintStream JavaDoc(pipeOut));
26                 setError(new PrintStream JavaDoc(pipeOut));
27                 setObjectSpaceEnabled(false);
28             }};
29             final Ruby runtime = Ruby.newInstance(config);
30
31             runtime.defineGlobalConstant("ARGV", runtime.newArray());
32             //runtime.defineGlobalConstant("JSObject", JavaEmbedUtils.javaToRuby(runtime, JSObject.getWindow(this)));
33
runtime.getLoadService().init(new ArrayList JavaDoc(0));
34             
35             final String JavaDoc script = getParameter("script");
36
37             Thread JavaDoc t2 = new Thread JavaDoc() {
38                 public void run() {
39                     runtime.evalScript(script);
40                 }
41             };
42             t2.start();
43         } catch (IOException JavaDoc ioe) {
44             ioe.printStackTrace();
45         }
46     }
47
48     /**
49      *
50      */

51     private static final long serialVersionUID = 3746242973444417387L;
52
53 }
54
Popular Tags