01: /*
02: * HelpCommandExecutor.java
03: *
04: * Copyright (C) 2007 Ferran Busquets
05: *
06: * This program is free software: you can redistribute it and/or modify
07: * it under the terms of the GNU General Public License as published by
08: * the Free Software Foundation, either version 3 of the License, or
09: * any later version.
10: *
11: * This program is distributed in the hope that it will be useful,
12: * but WITHOUT ANY WARRANTY; without even the implied warranty of
13: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14: * GNU General Public License for more details.
15: *
16: * You should have received a copy of the GNU General Public License
17: * along with this program. If not, see <http://www.gnu.org/licenses/>.
18: *
19: */
20: package org.naturalcli.commands;
21:
22: import java.util.Set;
23:
24: import org.naturalcli.Command;
25: import org.naturalcli.ParseResult;
26: import org.naturalcli.ICommandExecutor;
27:
28: /**
29: * Executor for <code>HelpCommand</code>
30: *
31: * @see HelpCommandExecutor
32: * @author Ferran Busquets
33: */
34: public class HelpCommandExecutor implements ICommandExecutor {
35:
36: /** Commands set */
37: private Set<Command> commands;
38:
39: /**
40: * Constructor.
41: * @param commands the set of commands for the help
42: */
43: public HelpCommandExecutor(Set<Command> commands) {
44: this .commands = commands;
45: }
46:
47: /* (non-Javadoc)
48: * @see org.naturalcli.ICommandExecutor#execute(java.lang.Object[])
49: */
50: @Override
51: public void execute(ParseResult parseResult) {
52: for (Command c : commands) {
53: if (c.isHidden())
54: continue;
55: System.out.println(c.getSyntax());
56: System.out.println("\t" + c.getHelp());
57: System.out.println();
58: }
59: }
60:
61: }
|