Separated the bsvc console for clarity.
[jsvc.git] / samples / bsh / src / dolda / bsvc / Console.java
diff --git a/samples/bsh/src/dolda/bsvc/Console.java b/samples/bsh/src/dolda/bsvc/Console.java
new file mode 100644 (file)
index 0000000..fc25bdd
--- /dev/null
@@ -0,0 +1,48 @@
+package dolda.bsvc;
+
+import java.io.*;
+
+public class Console implements bsh.ConsoleInterface {
+    ByteArrayOutputStream obuf = new ByteArrayOutputStream();
+    ByteArrayOutputStream ebuf = new ByteArrayOutputStream();
+    Reader in = new StringReader("");
+    PrintStream out;
+    PrintStream err;
+    {
+       try {
+           out = new PrintStream(obuf, false, "UTF-8");
+           err = new PrintStream(ebuf, false, "UTF-8");
+       } catch(UnsupportedEncodingException e) {
+           throw(new Error(e));
+       }
+    }
+       
+    public void error(Object msg) {
+       getErr().println(msg);
+    }
+       
+    public void print(Object o) {
+       getOut().print(o);
+    }
+       
+    public void println(Object o) {
+       getOut().println(o);
+    }
+       
+    public PrintStream getOut() {
+       return(out);
+    }
+
+    public PrintStream getErr() {
+       return(err);
+    }
+
+    public Reader getIn() {
+       return(in);
+    }
+       
+    public void reset() {
+       obuf.reset();
+       ebuf.reset();
+    }
+}