summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils
diff options
context:
space:
mode:
authorBenjamin J. Culkin <bjculkin@mix.wvu.edu>2017-09-11 11:10:28 -0300
committerBenjamin J. Culkin <bjculkin@mix.wvu.edu>2017-09-11 11:10:28 -0300
commit90f9bf8e8deddf267d7e7c2fd2fdc01f39f08df8 (patch)
tree6ca40b2540ea2803dc030abd2e2dc81757d6042c /BJC-Utils2/src/main/java/bjc/utils
parent0a062f0fc8ace3a77bd7ef75d40eb6c1761be345 (diff)
Add ToggledBlockReader to CLI
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/cli/objects/BlockReaderCLI.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/cli/objects/BlockReaderCLI.java b/BJC-Utils2/src/main/java/bjc/utils/cli/objects/BlockReaderCLI.java
index 5a87a9a..e69758f 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/cli/objects/BlockReaderCLI.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/cli/objects/BlockReaderCLI.java
@@ -98,6 +98,9 @@ public class BlockReaderCLI {
case "def-serial":
defSerial(com);
break;
+ case "def-toggled":
+ defToggled(com);
+ break;
case "exit":
case "quit":
if(interactive)
@@ -197,6 +200,39 @@ public class BlockReaderCLI {
readers.put(blockName, reader);
}
+ private void defToggled(Command com) {
+ String[] parts = com.remnCommand.split(" ");
+
+ if(parts.length != 3) {
+ System.err.print(com.error("Incorrect number of arguments to def-toggled. Requires a block name and two reader names\n"));
+ return;
+ }
+
+ /*
+ * Get the block name.
+ */
+ String blockName = parts[0];
+ if(readers.containsKey(blockName)) {
+ System.err.print(com.warn("Shadowing existing reader named %s\n", blockName));
+ }
+
+ /*
+ * Make sure the component readers exist.
+ */
+ if(!readers.containsKey(parts[1])) {
+ System.err.print(com.error("No reader named %s\n", parts[1]));
+ return;
+ }
+
+ if(!readers.containsKey(parts[2])) {
+ System.err.print(com.error("No reader named %s\n", parts[2]));
+ return;
+ }
+
+ BlockReader reader = new Toggled(readers.get(parts[1]), readers.get(parts[2]));
+ readers.put(blockName, reader);
+ }
+
private void defLayered(Command com) {
String[] parts = com.remnCommand.split(" ");