1 package org.simantics.scl.runtime.reporting;
\r
3 import java.io.Writer;
\r
5 public class SCLReportingWriter extends Writer {
\r
7 StringBuilder builder = null;
\r
9 public SCLReportingWriter() {
\r
10 builder = new StringBuilder();
\r
14 public void close() {
\r
19 public void flush() {
\r
20 if (builder.length() > 0) {
\r
21 SCLReporting.print(builder.toString());
\r
22 builder.setLength(0);
\r
27 public void write(char[] buf, int off, int len) {
\r
28 if (len == 0) return;
\r
30 if (len < 0) throw new IllegalArgumentException("Negative buffer region length");
\r
31 if (off < 0) throw new IllegalArgumentException("Negative buffer region offset");
\r
32 if (off + len > buf.length) throw new IllegalArgumentException("Buffer region overflow");
\r
34 for (int i = 0; i < len; i++) {
\r
35 if (buf[off + i] == '\n') {
\r
36 SCLReporting.print(builder.toString());
\r
37 builder.setLength(0);
\r
40 builder.append(buf[off + i]);
\r