summaryrefslogtreecommitdiff
path: root/base/src
diff options
context:
space:
mode:
Diffstat (limited to 'base/src')
-rw-r--r--base/src/main/java/bjc/utils/cli/StreamTerminal.java12
-rw-r--r--base/src/main/java/bjc/utils/cli/TerminalCodes.java8
-rw-r--r--base/src/main/java/bjc/utils/cli/objects/DelimSplitterCLI.java26
3 files changed, 33 insertions, 13 deletions
diff --git a/base/src/main/java/bjc/utils/cli/StreamTerminal.java b/base/src/main/java/bjc/utils/cli/StreamTerminal.java
index a45a22e..69be8d7 100644
--- a/base/src/main/java/bjc/utils/cli/StreamTerminal.java
+++ b/base/src/main/java/bjc/utils/cli/StreamTerminal.java
@@ -7,6 +7,12 @@ import java.util.*;
import java.util.concurrent.*;
import java.util.concurrent.locks.*;
+/**
+ * Implementation of {@link Terminal} using {@link Reader} and {@link Writer}
+ *
+ * @author bjcul
+ *
+ */
public class StreamTerminal implements Terminal, Runnable {
private SortedSet<Long> pendingRequests;
private ConcurrentMap<Long, String> pendingReplies;
@@ -23,6 +29,12 @@ public class StreamTerminal implements Terminal, Runnable {
private long currentRequest = -1;
+ /**
+ * Create a new stream terminal.
+ *
+ * @param input The input source
+ * @param output The output source
+ */
public StreamTerminal(Reader input, Writer output) {
this.inputScanner = new Scanner(input);
this.output = output;
diff --git a/base/src/main/java/bjc/utils/cli/TerminalCodes.java b/base/src/main/java/bjc/utils/cli/TerminalCodes.java
index c1d7dfc..7e2206e 100644
--- a/base/src/main/java/bjc/utils/cli/TerminalCodes.java
+++ b/base/src/main/java/bjc/utils/cli/TerminalCodes.java
@@ -14,14 +14,22 @@ public enum TerminalCodes {
// The general idea of the format would be a tab-separated value file, with the
// first value being a command, and then the rest being the body of that command.
// Would also have the line-continuation feature
+ /** Alert for starting processing. */
INFO_STARTCOMPROC("IOLPI00001", "STARTING PROCESSING"),
+ /** Alert for ending processing. */
INFO_ENDCOMPROC("IOLPI00002", "ENDING PROCESSING"),
+ /** Error for an unknown command */
ERROR_UNRECCOM("IOINE00001", "UNRECOGNIZED COMMAND"),
+ /** Error for an invalid number format when identifying a reply. */
ERROR_INVREPNO("IOINE00002", "INVALID REPLY NUMBER FORMAT"),
+ /** Error for specifying an unrecognized reply. */
ERROR_UNKREPNO("IOINE00002", "UNKNOWN REPLY NUMBER"),
;
+
+ /** The code for this error. */
public final String code;
+ /** The summary message for this error. */
public final String message;
private TerminalCodes(String code, String message) {
diff --git a/base/src/main/java/bjc/utils/cli/objects/DelimSplitterCLI.java b/base/src/main/java/bjc/utils/cli/objects/DelimSplitterCLI.java
index 53d6d1e..ba478f7 100644
--- a/base/src/main/java/bjc/utils/cli/objects/DelimSplitterCLI.java
+++ b/base/src/main/java/bjc/utils/cli/objects/DelimSplitterCLI.java
@@ -60,24 +60,22 @@ public class DelimSplitterCLI {
* Run the tester interface.
*/
private void runLoop() {
- final Scanner scn = new Scanner(System.in);
+ try (Scanner scn = new Scanner(System.in)) {
+ System.out.print("Enter a command (blank line to quit): ");
+ String inp = scn.nextLine().trim();
+ System.out.println();
- System.out.print("Enter a command (blank line to quit): ");
- String inp = scn.nextLine().trim();
- System.out.println();
+ while (!inp.equals("")) {
+ handleCommand(inp, scn, true);
- while (!inp.equals("")) {
- handleCommand(inp, scn, true);
+ System.out.println();
- System.out.println();
+ System.out.print("Enter a command (blank line to quit): ");
+ inp = scn.nextLine();
- System.out.print("Enter a command (blank line to quit): ");
- inp = scn.nextLine();
-
- System.out.println();
+ System.out.println();
+ }
}
-
- scn.close();
}
/*
@@ -221,6 +219,8 @@ public class DelimSplitterCLI {
}
try (FileInputStream fis = new FileInputStream(pth)) {
+ @SuppressWarnings("resource")
+ // Handled by above
final Scanner scn = new Scanner(fis);
while (scn.hasNextLine()) {