package edu.colostate.vchill.gui; import java.io.PrintStream; /** * Stream for copying a stream to a ViewEventWindow. The original stream * is unaffected, but the ViewEventWindow gets everything as well. * * @author Alexander Deyke * @author Jochen Deyke * @version 2004-10-11 */ public class EventStream extends PrintStream { private ViewEventWindow window; boolean isErr; /** * Sole EventStream Constructor. * * @param stream Stream to pipe from * @param window ViewEventWindow to copy to * @param isErr is this Stream intended for displaying error messages? (only used for formatting purposes in <code>window</code>) */ public EventStream(final PrintStream stream, final ViewEventWindow window, final boolean isErr) { super(stream); this.window = window; this.isErr = isErr; } public synchronized void print(final boolean b) { super.print(b); window.addEvent(b ? "true" : "false", isErr); } public synchronized void print(final char c) { super.print(c); window.addEvent(String.valueOf(c), isErr); } public synchronized void print(final int i) { super.print(i); window.addEvent(String.valueOf(i), isErr); } public synchronized void print(final long l) { super.print(l); window.addEvent(String.valueOf(l), isErr); } public synchronized void print(final float f) { super.print(f); window.addEvent(String.valueOf(f), isErr); } public synchronized void print(final double d) { super.print(d); window.addEvent(String.valueOf(d), isErr); } public synchronized void print(final char s[]) { super.print(s); window.addEvent(new String(s), isErr); } public synchronized void print(final String s) { super.print(s); window.addEvent(s == null ? "null" : s, isErr); } public synchronized void print(final Object obj) { super.print(obj); window.addEvent(String.valueOf(obj), isErr); } public synchronized void println() { super.println(); window.addEvent("\n", isErr); } public synchronized void println(final boolean x) { super.println(x); window.addEvent("\n", isErr); } public synchronized void println(final char x) { super.println(x); window.addEvent("\n", isErr); } public synchronized void println(final int x) { super.println(x); window.addEvent("\n", isErr); } public synchronized void println(final long x) { super.println(x); window.addEvent("\n", isErr); } public synchronized void println(final float x) { super.println(x); window.addEvent("\n", isErr); } public synchronized void println(final double x) { super.println(x); window.addEvent("\n", isErr); } public synchronized void println(final char x[]) { super.println(x); window.addEvent("\n", isErr); } public synchronized void println(final String x) { super.println(x); window.addEvent("\n", isErr); } public synchronized void println(final Object x) { super.println(x); window.addEvent("\n", isErr); } }