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