package call;
import java.awt.Color;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
public class HumanReadableMessageOutput implements MessageOutput {
private final List<PrintWriter> printWriters = new ArrayList<>();
public HumanReadableMessageOutput(PrintWriter pw) {
this.printWriters.add(pw);
}
public HumanReadableMessageOutput(Collection<PrintWriter> printWriters) {
this.printWriters.addAll(printWriters);
}
public HumanReadableMessageOutput(OutputStream out) {
this.printWriters.add(new PrintWriter(out));
}
@Override
public void append(String str, Color c) {
for (PrintWriter pw : printWriters) {
pw.print(str);
pw.flush();
}
}
@Override
public void close() {
for (PrintWriter pw : printWriters) {
pw.close();
}
}
}