package com.delcyon.capo.datastream; import java.io.FilterOutputStream; import java.io.IOException; import java.io.OutputStream; import eu.webtoolkit.jwt.Signal1; public class ConsoleOutputStreamFilter extends FilterOutputStream { private Signal1<String> outputSignal = new Signal1<>(); private StringBuffer buffer = new StringBuffer(); public Signal1<String> output() { return outputSignal; } /** * @param out */ public ConsoleOutputStreamFilter(OutputStream out) { super(out); } /* (non-Javadoc) * @see java.io.FilterOutputStream#write(int) */ @Override public void write(int b) throws IOException { buffer.append(((char)b)); if(b == 10) { outputSignal.trigger(buffer.toString()); buffer.setLength(0); } super.write(b); } }