KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > util > cmdline > api > Application


1 /*====================================================================
2
3 ObjectWeb Util CommandLine Package.
4 Copyright (C) 2003 INRIA & USTL - LIFL - GOAL
5 Contact: architecture@objectweb.org
6
7 This library is free software; you can redistribute it and/or
8 modify it under the terms of the GNU Lesser General Public
9 License as published by the Free Software Foundation; either
10 version 2.1 of the License, or any later version.
11
12 This library is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 Lesser General Public License for more details.
16
17 You should have received a copy of the GNU Lesser General Public
18 License along with this library; if not, write to the Free Software
19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
20 USA
21
22 Initial developer(s): Philippe Merle.
23 Contributor(s): ______________________________________.
24
25 ====================================================================*/

26
27 package org.objectweb.util.cmdline.api;
28
29 // Package dependencies.
30
import org.objectweb.util.misc.api.Identifiable;
31
32 /**
33  * This interface represents an application with a command line.
34  *
35  * This provides the following properties:
36  *
37  * - MailingList: The associated mailing list of this development.
38  *
39  * - VersionInformation: The associated version information.
40  *
41  * This provides the following methods:
42  *
43  * - main and start: Starts the application.
44  *
45  * @author <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a>
46  *
47  * @version 0.1
48  */

49
50 public interface Application
51          extends Identifiable,
52                  CommandLineHolder,
53                  ConsoleHolder
54 {
55     /**
56      * Obtains the mailing list associated to this development.
57      *
58      * @return The mailing list associated to this development.
59      */

60     public String JavaDoc
61     getMailingList();
62
63     /**
64      * Obtains the associated version information.
65      *
66      * @return The associated version information.
67      */

68     public String JavaDoc[]
69     getVersionInformation();
70
71     /**
72      * Reports an exception stack.
73      *
74      * @param exception The exception to report.
75      */

76     public void
77     report_exception(Exception JavaDoc exception);
78
79     /**
80      * Executes the main function, i.e.
81      * 1 - arguments = getCommandLine().parse(args);
82      * 2 - status = starts(arguments);
83      * 3 - System.exit(status);
84      *
85      * @param args The command line arguments.
86      */

87     public void
88     runMain(String JavaDoc[] args);
89
90     /**
91      * Starts the main function.
92      *
93      * @param args The command line arguments.
94      *
95      * @return The status of the application.
96      */

97     public int
98     start(String JavaDoc[] args);
99 }
100
Popular Tags