package org.cryptocoinpartners.command; import org.apache.commons.lang.StringUtils; /** * @author Tim Olson */ @SuppressWarnings("UnusedDeclaration") public class HelpCommand extends CommandBase { @Override public String getUsageHelp() { return "help [command-name]"; } @Override public String getExtraHelp() { return "Without a command-name, help lists all available commands. If a command-name is specified, " + "detailed help is given for that command."; } @Override public void parse(String commandArguments) { commandName = commandArguments.trim(); } @Override public void run() { if( StringUtils.isBlank(commandName) ) { out.println("Type \"help {command}\" for more detailed information."); out.println("Available commands:"); out.printList(CommandBase.allCommandNames()); } else { Command command = CommandBase.commandForName(commandName,context); if( command == null ) unknownCommand(); else { out.println(); out.println(command.getUsageHelp()); out.println(); out.printLinesWrapped(" ", command.getExtraHelp()); out.println(); } } } private void unknownCommand() { out.println("Unknown command "+commandName+". Available commands:"); out.printList(CommandBase.allCommandNames()); } private String commandName; }