File Source: RedirectCommand.java
/*
P/P * Method: com.dmdirc.addons.redirect.RedirectCommand__static_init
*/
1 /*
2 * Copyright (c) 2006-2009 Chris Smith, Shane Mc Cormack, Gregory Holmes
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a copy
5 * of this software and associated documentation files (the "Software"), to deal
6 * in the Software without restriction, including without limitation the rights
7 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8 * copies of the Software, and to permit persons to whom the Software is
9 * furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 * SOFTWARE.
21 */
22
23 package com.dmdirc.addons.redirect;
24
25 import com.dmdirc.MessageTarget;
26 import com.dmdirc.Server;
27 import com.dmdirc.commandparser.CommandArguments;
28 import com.dmdirc.commandparser.commands.ChatCommand;
29 import com.dmdirc.commandparser.commands.IntelligentCommand;
30 import com.dmdirc.ui.input.AdditionalTabTargets;
31 import com.dmdirc.ui.input.TabCompleter;
32 import com.dmdirc.ui.interfaces.InputWindow;
33 import java.util.List;
34
35 /**
36 * The redirect command allows the user to redirect the output from another
37 * command that would normally echo results locally to a query or channel
38 * window instead.
39 *
40 * @author Chris
41 */
42 public class RedirectCommand extends ChatCommand implements IntelligentCommand {
43
/*
P/P * Method: void com.dmdirc.addons.redirect.RedirectCommand()
*/
44 public RedirectCommand() {
45 }
46
47 /** {@inheritDoc} */
48 @Override
49 public void execute(final InputWindow origin, final Server server,
50 final MessageTarget target, final boolean isSilent, final CommandArguments args) {
/*
P/P * Method: void execute(InputWindow, Server, MessageTarget, bool, CommandArguments)
*
* Preconditions:
* args != null
* target != null
*
* Presumptions:
* com.dmdirc.MessageTarget:getFrame(...)@51 != null
* com.dmdirc.ui.interfaces.InputWindow:getCommandParser(...)@51 != null
*/
51 target.getFrame().getCommandParser().parseCommand(new FakeInputWindow(target),
52 args.getArgumentsAsString());
53 }
54
55 /** {@inheritDoc} */
56 @Override
57 public String getName() {
/*
P/P * Method: String getName()
*
* Postconditions:
* return_value == &"redirect"
*/
58 return "redirect";
59 }
60
61 /** {@inheritDoc} */
62 @Override
63 public boolean showInHelp() {
/*
P/P * Method: bool showInHelp()
*
* Postconditions:
* return_value == 1
*/
64 return true;
65 }
66
67 /** {@inheritDoc} */
68 @Override
69 public String getHelp() {
/*
P/P * Method: String getHelp()
*
* Postconditions:
* return_value == &"redirect <command> - sends the output of the command to a channel or query window"
*/
70 return "redirect <command> - sends the output of the command to a channel or query window";
71 }
72
73 /** {@inheritDoc} */
74 @Override
75 public AdditionalTabTargets getSuggestions(final int arg, final List<String> previousArgs) {
/*
P/P * Method: AdditionalTabTargets getSuggestions(int, List)
*
* Postconditions:
* init'ed(return_value)
*/
76 return TabCompleter.getIntelligentResults(arg, previousArgs, 0);
77 }
78
79 }
SofCheck Inspector Build Version : 2.17854
| RedirectCommand.java |
2009-Jun-25 01:54:24 |
| RedirectCommand.class |
2009-Sep-02 17:04:15 |