transcendental-lisp/src/environment/RuntimeEnvironment.java

82 lines
1.8 KiB
Java
Raw Normal View History

package environment;
import java.io.*;
import error.ErrorManager;
public class RuntimeEnvironment {
private static RuntimeEnvironment uniqueInstance = new RuntimeEnvironment();
public static RuntimeEnvironment getInstance() {
2017-01-17 15:54:09 -05:00
return uniqueInstance;
}
private String inputName;
private InputStream input;
private PrintStream output;
private PrintStream errorOutput;
private Runnable terminationFunction;
private Runnable errorTerminationFunction;
private ErrorManager errorManager;
private RuntimeEnvironment() {}
2017-02-11 10:51:37 -05:00
public void setInputName(String inputName) {
this.inputName = inputName;
}
public void setInput(InputStream input) {
this.input = input;
}
public void setOutput(PrintStream output) {
this.output = output;
}
public void setErrorOutput(PrintStream errorOutput) {
this.errorOutput = errorOutput;
}
public void setTerminationFunction(Runnable terminationFunction) {
this.terminationFunction = terminationFunction;
}
public void setErrorTerminationFunction(Runnable errorTerminationFunction) {
this.errorTerminationFunction = errorTerminationFunction;
}
2017-02-11 10:51:37 -05:00
public void setErrorManager(ErrorManager errorManager) {
this.errorManager = errorManager;
}
2017-02-11 10:51:37 -05:00
public String getInputName() {
return inputName;
}
public InputStream getInput() {
return input;
}
public PrintStream getOutput() {
return output;
}
public PrintStream getErrorOutput() {
return errorOutput;
}
public void terminateSuccessfully() {
terminationFunction.run();
}
2017-02-06 13:43:27 -05:00
public void terminateExceptionally() {
errorTerminationFunction.run();
}
2017-02-11 10:51:37 -05:00
public ErrorManager getErrorManager() {
return errorManager;
}
}