View Javadoc

1   /*
2    *  XNap - A P2P framework and client.
3    *
4    *  See the file AUTHORS for copyright information.
5    *
6    *  This program is free software; you can redistribute it and/or modify
7    *  it under the terms of the GNU General Public License as published by
8    *  the Free Software Foundation.
9    *
10   *  This program is distributed in the hope that it will be useful,
11   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   *  GNU General Public License for more details.
14   *
15   *  You should have received a copy of the GNU General Public License
16   *  along with this program; if not, write to the Free Software
17   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18   */
19  
20  package org.xnap.util.launcher;
21  
22  import java.net.*;
23  import java.io.*;
24  import java.io.IOException;
25  
26  /***
27   * Defines the requirements for classes that provide a launcher. 
28   */
29  public interface Launcher {
30  
31      //--- Constant(s) ---
32  
33      //--- Method(s) ---
34  
35      /***
36       * Returns the command used to launch files.
37       */
38      String getCommand();
39  
40      /***
41       * Returns the unique preferences key.
42       */
43      String getKey();
44  
45      /***
46       * Returns the name of the launcher that is displayed to the user.
47       */
48      String getName();
49  
50      /***
51       * Returns true, if the launcher is available on the system.
52       */
53      boolean isEnabled();
54  
55      /***
56       * Returns true, if the command can be changed.
57       */
58      boolean isEditable();
59  
60      /***
61       * Launches <code>file</code>.
62       */
63      void open(File file) throws IOException;
64  
65  	/***
66  	 * Opens the given URL.
67  	 */
68  	void open(URL url) throws IOException;
69  
70      /***
71       * Sets command to <code>command</code>.
72       */
73      void setCommand(String command);
74  
75  }