71 lines
1.7 KiB
Java
71 lines
1.7 KiB
Java
package terminal;
|
|
|
|
import java.io.IOException;
|
|
import java.io.PipedInputStream;
|
|
import java.io.PipedOutputStream;
|
|
|
|
import com.googlecode.lanterna.terminal.IOSafeTerminal;
|
|
|
|
import stream.UncheckedIOException;
|
|
|
|
public class TerminalConfiguration {
|
|
|
|
private PipedOutputStream inputWriter;
|
|
private PipedInputStream inputReader;
|
|
private PipedOutputStream outputWriter;
|
|
private PipedInputStream outputReader;
|
|
private IOSafeTerminal terminal;
|
|
|
|
public void setInputPair(PipedOutputStream inputWriter, PipedInputStream inputReader) {
|
|
this.inputWriter = inputWriter;
|
|
this.inputReader = inputReader;
|
|
connectInputPair();
|
|
}
|
|
|
|
private void connectInputPair() {
|
|
try {
|
|
inputWriter.connect(inputReader);
|
|
} catch (IOException e) {
|
|
throw new UncheckedIOException(e);
|
|
}
|
|
}
|
|
|
|
public void setOutputPair(PipedOutputStream outputWriter, PipedInputStream outputReader) {
|
|
this.outputWriter = outputWriter;
|
|
this.outputReader = outputReader;
|
|
connectOutputPair();
|
|
}
|
|
|
|
private void connectOutputPair() {
|
|
try {
|
|
outputWriter.connect(outputReader);
|
|
} catch (IOException e) {
|
|
throw new UncheckedIOException(e);
|
|
}
|
|
}
|
|
|
|
public void setTerminal(IOSafeTerminal terminal) {
|
|
this.terminal = terminal;
|
|
}
|
|
|
|
public PipedOutputStream getInputWriter() {
|
|
return inputWriter;
|
|
}
|
|
|
|
public PipedInputStream getInputReader() {
|
|
return inputReader;
|
|
}
|
|
|
|
public PipedOutputStream getOutputWriter() {
|
|
return outputWriter;
|
|
}
|
|
|
|
public PipedInputStream getOutputReader() {
|
|
return outputReader;
|
|
}
|
|
|
|
public IOSafeTerminal getTerminal() {
|
|
return terminal;
|
|
}
|
|
|
|
} |