package org.cryptocoinpartners.command; import javax.annotation.Nullable; /** * @author Tim Olson */ public interface Command extends Runnable { /** This should return the title of the help page, something like "mycmd [option1|opt2] {filename}". If null, then * the command is assumed to have no arguments and just the command name is printed. */ @Nullable public String getUsageHelp(); /** this should return the body of the help page, something like "mycmd manipulates the filename unless option1 or opt2 are set..." */ public String getExtraHelp(); /** this is called before run() * @param commandArguments the remainder of the command-line after the command name has been removed from the front */ public void parse( String commandArguments ) throws ParseError; }