WindowOutputStream.java
package soen6441riskgame.utils.presenter;
import java.io.OutputStream;
/**
* custom OutputStream for separated view
*/
public class WindowOutputStream extends OutputStream {
private StringBuilder buffer;
private WindowPane windowPane;
/**
* constructor
*
* @param windowPane the window pane to write text to
*/
public WindowOutputStream(WindowPane windowPane) {
buffer = new StringBuilder(128);
this.windowPane = windowPane;
}
/**
* write character b to output stream
*
* @param b character to write
*/
@Override
public void write(int b) {
char c = (char) b;
String value = Character.toString(c);
buffer.append(value);
if (value.equals("\n")) {
windowPane.appendText(buffer.toString());
buffer.delete(0, buffer.length());
}
}
}