File Source: AudioCommand.java
/*
P/P * Method: com.dmdirc.addons.audio.AudioCommand__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.audio;
24
25 import com.dmdirc.commandparser.CommandArguments;
26 import com.dmdirc.commandparser.CommandManager;
27 import com.dmdirc.commandparser.commands.GlobalCommand;
28 import com.dmdirc.ui.interfaces.InputWindow;
29
30 import java.io.File;
31
32 /**
33 * The Audio Command allows playing of audio files.
34 *
35 * @author Shane "Dataforce" Mc Cormack
36 */
37 public final class AudioCommand extends GlobalCommand {
38
39 /**
40 * Creates a new instance of LoggingCommand.
41 */
42 public AudioCommand() {
/*
P/P * Method: void com.dmdirc.addons.audio.AudioCommand()
*/
43 super();
44 CommandManager.registerCommand(this);
45 }
46
47 /** {@inheritDoc} */
48 @Override
49 public void execute(final InputWindow origin, final boolean isSilent,
50 final CommandArguments args) {
/*
P/P * Method: void execute(InputWindow, bool, CommandArguments)
*
* Preconditions:
* args != null
*
* Test Vectors:
* java.io.File:exists(...)@53: {0}, {1}
*/
51 final String filename = args.getArgumentsAsString();
52 final File file = new File(filename);
53 if (file.exists()) {
54 if (AudioPlayer.isValid(file)) {
55 new AudioPlayer(file).play();
56 } else {
57 sendLine(origin, isSilent, FORMAT_ERROR, "Invalid file type");
58 }
59 } else {
60 sendLine(origin, isSilent, FORMAT_ERROR, "File does not exist");
61 }
62 }
63
64 /**
65 * Returns this command's name.
66 *
67 * @return The name of this command
68 */
69 @Override
/*
P/P * Method: String getName()
*
* Postconditions:
* return_value == &"audio"
*/
70 public String getName() { return "audio"; }
71
72 /**
73 * Returns whether or not this command should be shown in help messages.
74 *
75 * @return True iff the command should be shown, false otherwise
76 */
77 @Override
/*
P/P * Method: bool showInHelp()
*
* Postconditions:
* return_value == 1
*/
78 public boolean showInHelp() { return true; }
79
80 /**
81 * Returns a string representing the help message for this command.
82 *
83 * @return the help message for this command
84 */
85 @Override
/*
P/P * Method: String getHelp()
*
* Postconditions:
* java.lang.StringBuilder:toString(...)._tainted == 0
* return_value == &java.lang.StringBuilder:toString(...)
*/
86 public String getHelp() { return this.getName() + " <file>"; }
87
88 }
89
SofCheck Inspector Build Version : 2.17854
| AudioCommand.java |
2009-Jun-25 01:54:24 |
| AudioCommand.class |
2009-Sep-02 17:04:17 |