1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.xnap.cmdl;
21
22
23 /***
24 * Defines the requirements for classes that provide commands.
25 */
26 public interface Command {
27
28
29
30 String CMD = "cmd";
31 String LONG_HELP = "longHelp";
32 String PARAMETER = "parameter";
33 String SHORT_HELP = "shortHelp";
34 String ALIASES = "aliases";
35
36
37
38 /***
39 * Executes this command with <code>argv</code> parameters.
40 *
41 * @param command the command to execute
42 */
43 void execute(String command, Console console)
44 throws SyntaxException, ParameterException;
45
46 /***
47 * Returns a list of aliases that can be used to call this command.
48 */
49 String[] getAliases();
50
51 /***
52 * Returns a string that represent this command.
53 */
54 String getCommand();
55
56 /***
57 * Returns a long help text for this command.
58 */
59 String getLongHelp();
60
61 /***
62 * Returns a regular expression that describes the expected parameters.
63 */
64 String getParameter();
65
66 /***
67 * Returns a short (less than 80 characters) help text for this command.
68 */
69 String getShortHelp();
70
71 }