1 package org.simantics.scl.runtime.reporting;
4 * <p>An interface that is used to handle printing commands from SCL
5 * such as Prelude.print. This interface is typically stored to
6 * SCLContext with name {@link SCLReportingHandler#REPORTING_HANDLER}.
8 * <p>A convenient way to call the methods of this interface in
9 * arbitrary evaluation context is to use class {@link SCLReporting}
11 * @author Hannu Niemistö
13 public interface SCLReportingHandler {
14 public static final String REPORTING_HANDLER = "reportingHandler";
16 public void print(String text);
17 public void printError(String error);
18 public void printCommand(String command);
19 public void didWork(double amount);
21 public static final SCLReportingHandler DEFAULT = new AbstractSCLReportingHandler() {
23 public void print(String text) {
24 System.out.println(text);
28 public void printError(String error) {
29 System.err.println(error);
33 public static final SCLReportingHandler DEFAULT_WITHOUT_ECHO = new AbstractSCLReportingHandler() {
35 public void print(String text) {
36 System.out.println(text);
40 public void printError(String error) {
41 System.err.println(error);
45 public void printCommand(String command) {