View Javadoc

1   /********************************************************************************
2    * InternetCafe is a software solution that helps the management of Cybercafes 
3    * according with the ITALIAN DECREE LAW ON ANTI-TERROR MEASURES, 27 JULY 2005.
4    * Copyright (C) 2006  Guido Angelo Ingenito
5   
6    * This program is free software; you can redistribute it and/or
7    * modify it under the terms of the GNU General Public License
8    * as published by the Free Software Foundation; either version 2
9    * of the License, or (at your option) any later version.
10  
11   * This program is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14   * GNU General Public License for more details.
15   * 
16   * You should have received a copy of the GNU General Public License
17   * along with this program; if not, write to the Free Software
18   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
19   *******************************************************************************/
20  package ui.command;
21  
22  import ui.Messages;
23  import base.InternetCafe;
24  
25  public abstract class Command{
26  
27  	private int status = UNDEFINED_STATUS;
28  
29  	public static final int UNDEFINED_STATUS = -1;
30  
31  	public static final int SUCCESS_STATUS = 0;
32  
33  	public static final int ABORT_STATUS = 1;
34  
35  	public static final int ERROR_STATUS = 2;
36  
37  	public static final int VETOED_STATUS = 3;
38  
39  	public static final int EXECUTE_STATUS = 4;
40  
41  	protected abstract void prologo();
42  
43  	protected abstract void execution() throws Exception;
44  
45  	protected void epilogue() {
46  		switch (getStatus()) {
47  		case SUCCESS_STATUS:
48  			InternetCafe.setStatusBarMessage(Messages.getString("command.status.success")); //$NON-NLS-1$
49  			break;
50  		case ABORT_STATUS:
51  			InternetCafe.setStatusBarMessage(Messages.getString("command.status.abort")); //$NON-NLS-1$
52  			break;
53  		case ERROR_STATUS:
54  			InternetCafe.setStatusBarMessage(Messages.getString("command.status.error")); //$NON-NLS-1$
55  			break;
56  		case VETOED_STATUS:
57  			InternetCafe.setStatusBarMessage(Messages.getString("command.status.vetoed")); //$NON-NLS-1$
58  			break;
59  		}
60  	}
61  
62  	/***
63  	 * @return Returns the status.
64  	 */
65  	public int getStatus() {
66  		return status;
67  	}
68  
69  	/***
70  	 * @param status
71  	 *            The status to set.
72  	 */
73  	protected void setStatus(int status) {
74  		this.status = status;
75  	}
76  
77  }