From 889fac2bdf993dc86f64a8893c0260fdcf848acb Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Mon, 10 Apr 2017 16:40:33 -0400 Subject: Cleanup --- .../java/bjc/utils/cli/GenericCommandMode.java | 140 ++++++++++----------- 1 file changed, 70 insertions(+), 70 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 7977391..8764537 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/cli/GenericCommandMode.java +++ b/BJC-Utils2/src/main/java/bjc/utils/cli/GenericCommandMode.java @@ -1,12 +1,12 @@ package bjc.utils.cli; -import bjc.utils.funcdata.FunctionalMap; -import bjc.utils.funcdata.IMap; - import java.util.TreeMap; import java.util.function.BiConsumer; import java.util.function.Consumer; +import bjc.utils.funcdata.FunctionalMap; +import bjc.utils.funcdata.IMap; + /** * A general command mode, with a customizable set of commands * @@ -21,13 +21,13 @@ public class GenericCommandMode implements CommandMode { /* * Contains the commands this mode handles */ - private IMap commandHandlers; - private IMap defaultHandlers; + private final IMap commandHandlers; + private final IMap defaultHandlers; /* * Contains help topics without an associated command */ - private IMap helpTopics; + private final IMap helpTopics; /* * The action to execute upon encountering an unknown command @@ -37,8 +37,8 @@ public class GenericCommandMode implements CommandMode { /* * The functions to use for input/output */ - private Consumer errorOutput; - private Consumer normalOutput; + private final Consumer errorOutput; + private final Consumer normalOutput; /* * The name of this command mode, or null if it is unnamed @@ -58,10 +58,10 @@ public class GenericCommandMode implements CommandMode { * @param errorOutput * The function to use for error output */ - public GenericCommandMode(Consumer normalOutput, Consumer errorOutput) { - if(normalOutput == null) + public GenericCommandMode(final Consumer normalOutput, final Consumer errorOutput) { + if (normalOutput == null) throw new NullPointerException("Normal output source must be non-null"); - else if(errorOutput == null) throw new NullPointerException("Error output source must be non-null"); + else if (errorOutput == null) throw new NullPointerException("Error output source must be non-null"); this.normalOutput = normalOutput; this.errorOutput = errorOutput; @@ -92,20 +92,20 @@ public class GenericCommandMode implements CommandMode { * handler, or if the alias name already has a bound * value */ - public void addCommandAlias(String commandName, String aliasName) { - if(commandName == null) + public void addCommandAlias(final String commandName, final String aliasName) { + if (commandName == null) throw new NullPointerException("Command name must not be null"); - else if(aliasName == null) + else if (aliasName == null) throw new NullPointerException("Alias name must not be null"); - else if(!commandHandlers.containsKey(commandName) && !defaultHandlers.containsKey(commandName)) + else if (!commandHandlers.containsKey(commandName) && !defaultHandlers.containsKey(commandName)) throw new IllegalArgumentException("Cannot alias non-existant command '" + commandName + "'"); - else if(commandHandlers.containsKey(aliasName) || defaultHandlers.containsKey(aliasName)) + else if (commandHandlers.containsKey(aliasName) || defaultHandlers.containsKey(aliasName)) throw new IllegalArgumentException( "Cannot bind alias '" + aliasName + "' to a command with a bound handler"); else { Command aliasedCommand; - if(defaultHandlers.containsKey(commandName)) { + if (defaultHandlers.containsKey(commandName)) { aliasedCommand = defaultHandlers.get(commandName).aliased(); } else { aliasedCommand = commandHandlers.get(commandName).aliased(); @@ -127,12 +127,12 @@ public class GenericCommandMode implements CommandMode { * if the specified command already has a handler * registered */ - public void addCommandHandler(String command, Command handler) { - if(command == null) + public void addCommandHandler(final String command, final Command handler) { + if (command == null) throw new NullPointerException("Command must not be null"); - else if(handler == null) + else if (handler == null) throw new NullPointerException("Handler must not be null"); - else if(canHandle(command)) + else if (canHandle(command)) throw new IllegalArgumentException("Command " + command + " already has a handler registered"); else { commandHandlers.put(command, handler); @@ -147,7 +147,7 @@ public class GenericCommandMode implements CommandMode { * @param topic * The contents of the topic */ - public void addHelpTopic(String topicName, CommandHelp topic) { + public void addHelpTopic(final String topicName, final CommandHelp topic) { helpTopics.put(topicName, topic); } @@ -156,8 +156,8 @@ public class GenericCommandMode implements CommandMode { */ private GenericCommand buildAliasCommand() { - String aliasShortHelp = "alias\tAlias one command to another"; - String aliasLongHelp = "Gives a command another name it can be invoked by." + final String aliasShortHelp = "alias\tAlias one command to another"; + final String aliasLongHelp = "Gives a command another name it can be invoked by." + " Invoke with two arguments: the name of the command to alias" + "followed by the name of the alias to give that command."; @@ -169,8 +169,8 @@ public class GenericCommandMode implements CommandMode { } private GenericCommand buildClearCommands() { - String clearShortHelp = "clear\tClear the screen"; - String clearLongHelp = "Clears the screen of all the text on it," + " and prints a new prompt."; + final String clearShortHelp = "clear\tClear the screen"; + final String clearLongHelp = "Clears the screen of all the text on it," + " and prints a new prompt."; return new GenericCommand((args) -> { errorOutput.accept("ERROR: This console doesn't support screen clearing"); @@ -180,8 +180,8 @@ public class GenericCommandMode implements CommandMode { } private GenericCommand buildExitCommand() { - String exitShortHelp = "exit\tExit the console"; - String exitLongHelp = "First prompts the user to make sure they want to" + final String exitShortHelp = "exit\tExit the console"; + final String exitLongHelp = "First prompts the user to make sure they want to" + " exit, then quits if they say they do"; return new GenericCommand((args) -> { @@ -192,14 +192,14 @@ public class GenericCommandMode implements CommandMode { } private GenericCommand buildHelpCommand() { - String helpShortHelp = "help\tConsult the help system"; - String helpLongHelp = "Consults the internal help system." + final String helpShortHelp = "help\tConsult the help system"; + final String helpLongHelp = "Consults the internal help system." + " Invoked in two different ways. Invoking with no arguments" + " causes all the topics you can ask for details on to be list," + " while invoking with the name of a topic will print the entry" + " for that topic"; return new GenericCommand((args) -> { - if(args == null || args.length == 0) { + if (args == null || args.length == 0) { /* * Invoke general help */ @@ -216,8 +216,8 @@ public class GenericCommandMode implements CommandMode { } private GenericCommand buildListCommand() { - String listShortHelp = "list\tList available commands"; - String listLongHelp = "Lists all of the commands available in this mode," + final String listShortHelp = "list\tList available commands"; + final String listLongHelp = "Lists all of the commands available in this mode," + " as well as commands available in any mode"; return new GenericCommand((args) -> { @@ -228,7 +228,7 @@ public class GenericCommandMode implements CommandMode { } @Override - public boolean canHandle(String command) { + public boolean canHandle(final String command) { return commandHandlers.containsKey(command) || defaultHandlers.containsKey(command); } @@ -236,17 +236,17 @@ public class GenericCommandMode implements CommandMode { * Implement default commands */ - private void doAliasCommands(String[] args) { - if(args.length != 2) { + private void doAliasCommands(final String[] args) { + if (args.length != 2) { errorOutput.accept("ERROR: Alias requires two arguments." + " The command name, and the alias for that command"); } else { - String commandName = args[0]; - String aliasName = args[1]; + final String commandName = args[0]; + final String aliasName = args[1]; - if(!canHandle(commandName)) { + if (!canHandle(commandName)) { errorOutput.accept("ERROR: '" + commandName + "' is not a valid command."); - } else if(canHandle(aliasName)) { + } else if (canHandle(aliasName)) { errorOutput.accept("ERROR: Cannot overwrite command '" + aliasName + "'"); } else { addCommandAlias(commandName, aliasName); @@ -254,16 +254,16 @@ public class GenericCommandMode implements CommandMode { } } - private void doHelpCommand(String commandName) { - if(commandHandlers.containsKey(commandName)) { - String desc = commandHandlers.get(commandName).getHelp().getDescription(); + private void doHelpCommand(final String commandName) { + if (commandHandlers.containsKey(commandName)) { + final String desc = commandHandlers.get(commandName).getHelp().getDescription(); normalOutput.accept("\n" + desc); - } else if(defaultHandlers.containsKey(commandName)) { - String desc = defaultHandlers.get(commandName).getHelp().getDescription(); + } else if (defaultHandlers.containsKey(commandName)) { + final String desc = defaultHandlers.get(commandName).getHelp().getDescription(); normalOutput.accept("\n" + desc); - } else if(helpTopics.containsKey(commandName)) { + } else if (helpTopics.containsKey(commandName)) { normalOutput.accept("\n" + helpTopics.get(commandName).getDescription()); } else { errorOutput.accept( @@ -274,9 +274,9 @@ public class GenericCommandMode implements CommandMode { private void doHelpSummary() { normalOutput.accept("Help topics for this command mode are as follows:\n"); - if(commandHandlers.size() > 0) { + if (commandHandlers.size() > 0) { commandHandlers.forEachValue(command -> { - if(!command.isAlias()) { + if (!command.isAlias()) { normalOutput.accept("\t" + command.getHelp().getSummary() + "\n"); } }); @@ -285,9 +285,9 @@ public class GenericCommandMode implements CommandMode { } normalOutput.accept("\nHelp topics available in all command modes are as follows\n"); - if(defaultHandlers.size() > 0) { + if (defaultHandlers.size() > 0) { defaultHandlers.forEachValue(command -> { - if(!command.isAlias()) { + if (!command.isAlias()) { normalOutput.accept("\t" + command.getHelp().getSummary() + "\n"); } }); @@ -296,7 +296,7 @@ public class GenericCommandMode implements CommandMode { } normalOutput.accept("\nHelp topics not associated with a command are as follows\n"); - if(helpTopics.size() > 0) { + if (helpTopics.size() > 0) { helpTopics.forEachValue(topic -> { normalOutput.accept("\t" + topic.getSummary() + "\n"); }); @@ -322,14 +322,14 @@ public class GenericCommandMode implements CommandMode { @Override public String getCustomPrompt() { - if(customPrompt != null) return customPrompt; + if (customPrompt != null) return customPrompt; return CommandMode.super.getCustomPrompt(); } @Override public String getName() { - if(modeName != null) return modeName; + if (modeName != null) return modeName; return CommandMode.super.getName(); } @@ -340,21 +340,21 @@ public class GenericCommandMode implements CommandMode { } @Override - public CommandMode process(String command, String[] args) { + public CommandMode process(final String command, final String[] args) { normalOutput.accept("\n"); - if(defaultHandlers.containsKey(command)) + if (defaultHandlers.containsKey(command)) return defaultHandlers.get(command).getHandler().handle(args); - else if(commandHandlers.containsKey(command)) + else if (commandHandlers.containsKey(command)) return commandHandlers.get(command).getHandler().handle(args); else { - if(args != null) { + if (args != null) { errorOutput.accept("ERROR: Unrecognized command " + command + String.join(" ", args)); } else { errorOutput.accept("ERROR: Unrecognized command " + command); } - if(unknownCommandHandler == null) + if (unknownCommandHandler == null) throw new UnsupportedOperationException("Command " + command + " is invalid."); unknownCommandHandler.accept(command, args); @@ -370,7 +370,7 @@ public class GenericCommandMode implements CommandMode { * The custom prompt for this mode, or null to disable * the custom prompt */ - public void setCustomPrompt(String prompt) { + public void setCustomPrompt(final String prompt) { customPrompt = prompt; } @@ -381,7 +381,7 @@ public class GenericCommandMode implements CommandMode { * The desired name of this mode, or null to use the * default name */ - public void setModeName(String name) { + public void setModeName(final String name) { modeName = name; } @@ -392,8 +392,8 @@ public class GenericCommandMode implements CommandMode { * The handler to use for unknown commands, or null to * throw on unknown commands */ - public void setUnknownCommandHandler(BiConsumer handler) { - if(handler == null) throw new NullPointerException("Handler must not be null"); + public void setUnknownCommandHandler(final BiConsumer handler) { + if (handler == null) throw new NullPointerException("Handler must not be null"); unknownCommandHandler = handler; } @@ -424,38 +424,38 @@ public class GenericCommandMode implements CommandMode { /* * (non-Javadoc) - * + * * @see java.lang.Object#toString() */ @Override public String toString() { - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); builder.append("GenericCommandMode ["); - - if(commandHandlers != null) { + + if (commandHandlers != null) { builder.append("commandHandlers="); builder.append(commandHandlers); } - if(defaultHandlers != null) { + if (defaultHandlers != null) { builder.append(", "); builder.append("defaultHandlers="); builder.append(defaultHandlers); } - if(helpTopics != null) { + if (helpTopics != null) { builder.append(", "); builder.append("helpTopics="); builder.append(helpTopics); } - if(modeName != null) { + if (modeName != null) { builder.append(", "); builder.append("modeName="); builder.append(modeName); } - if(customPrompt != null) { + if (customPrompt != null) { builder.append(", "); builder.append("customPrompt="); builder.append(customPrompt); -- cgit v1.2.3