From 90f9bf8e8deddf267d7e7c2fd2fdc01f39f08df8 Mon Sep 17 00:00:00 2001 From: "Benjamin J. Culkin" Date: Mon, 11 Sep 2017 11:10:28 -0300 Subject: Add ToggledBlockReader to CLI --- .../java/bjc/utils/cli/objects/BlockReaderCLI.java | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) 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(" "); -- cgit v1.2.3