From 79d3a4a47cbc1fcf17c77c6fc12ff826a3077bac Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Wed, 6 Apr 2016 13:50:00 -0400 Subject: Minor bugfixes/changes, as well as beginnings of CLI systems --- .../src/main/java/bjc/utils/cli/CLICommander.java | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 BJC-Utils2/src/main/java/bjc/utils/cli/CLICommander.java (limited to 'BJC-Utils2/src/main/java/bjc/utils/cli/CLICommander.java') diff --git a/BJC-Utils2/src/main/java/bjc/utils/cli/CLICommander.java b/BJC-Utils2/src/main/java/bjc/utils/cli/CLICommander.java new file mode 100644 index 0000000..f48f08e --- /dev/null +++ b/BJC-Utils2/src/main/java/bjc/utils/cli/CLICommander.java @@ -0,0 +1,60 @@ +package bjc.utils.cli; + +import java.io.InputStream; +import java.io.OutputStream; + +/** + * Runs a CLI interface from the provided set of streams + * + * @author ben + * + */ +public class CLICommander { + private InputStream input; + private OutputStream output; + private OutputStream error; + private ICommandMode initialMode; + + /** + * Create a new CLI interface powered by streams + * + * @param input + * The stream to get user input from + * @param output + * The stream to send user output to + * @param error + * The stream to send error messages to + */ + public CLICommander(InputStream input, OutputStream output, + OutputStream error) { + if (input == null) { + throw new NullPointerException( + "Input stream must not be null"); + } else if (output == null) { + throw new NullPointerException( + "Output stream must not be null"); + } else if (error == null) { + throw new NullPointerException( + "Error stream must not be null"); + } + + this.input = input; + this.output = output; + this.error = error; + } + + /** + * Set the initial command mode to use + * + * @param initialMode + * The initial command mode to use + */ + public void setInitialCommandMode(ICommandMode initialMode) { + if (initialMode == null) { + throw new NullPointerException( + "Initial mode must be non-zero"); + } + + this.initialMode = initialMode; + } +} -- cgit v1.2.3