From 9fdf37e3032defc8ea11fd59722b487163381422 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Wed, 13 Apr 2016 15:41:42 -0400 Subject: Implemented stream-based commands --- .../main/java/bjc/utils/cli/GenericCommandMode.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'BJC-Utils2/src/main/java/bjc/utils/cli/GenericCommandMode.java') diff --git a/BJC-Utils2/src/main/java/bjc/utils/cli/GenericCommandMode.java b/BJC-Utils2/src/main/java/bjc/utils/cli/GenericCommandMode.java index 5b35a0b..4f8e1c8 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/cli/GenericCommandMode.java +++ b/BJC-Utils2/src/main/java/bjc/utils/cli/GenericCommandMode.java @@ -49,6 +49,10 @@ public class GenericCommandMode implements ICommandMode { defaultHandlers = new FunctionalMap<>(new TreeMap<>()); helpTopics = new FunctionalMap<>(new TreeMap<>()); + setupDefaultCommands(errorOutput); + } + + private void setupDefaultCommands(Consumer errorOutput) { defaultHandlers.put("list", new GenericCommand((args) -> { listCommands(); @@ -130,7 +134,7 @@ public class GenericCommandMode implements ICommandMode { + aliasName + "' to a command with a bound handler"); } else { commandHandlers.put(aliasName, - commandHandlers.get(commandName)); + commandHandlers.get(commandName).createAlias()); } } @@ -237,8 +241,10 @@ public class GenericCommandMode implements ICommandMode { "Help topics for this command mode are as follows:\n"); if (commandHandlers.getSize() > 0) { commandHandlers.forEachValue((command) -> { - normalOutput.accept( - "\t" + command.getHelp().getSummary() + "\n"); + if (!command.isAlias()) { + normalOutput.accept("\t" + + command.getHelp().getSummary() + "\n"); + } }); } else { normalOutput.accept("\tNone available\n"); @@ -248,8 +254,10 @@ public class GenericCommandMode implements ICommandMode { "\nHelp topics available in all command modes are as follows\n"); if (defaultHandlers.getSize() > 0) { defaultHandlers.forEachValue((command) -> { - normalOutput.accept( - "\t" + command.getHelp().getSummary() + "\n"); + if (!command.isAlias()) { + normalOutput.accept("\t" + + command.getHelp().getSummary() + "\n"); + } }); } else { normalOutput.accept("\tNone available\n"); -- cgit v1.2.3