View Javadoc

1   /*
2    *  XNap Commons
3    *
4    *  Copyright (C) 2005  Steffen Pingel
5    *
6    *  This library is free software; you can redistribute it and/or
7    *  modify it under the terms of the GNU Lesser General Public
8    *  License as published by the Free Software Foundation; either
9    *  version 2.1 of the License, or (at your option) any later version.
10   *
11   *  This library 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 GNU
14   *  Lesser General Public License for more details.
15   *
16   *  You should have received a copy of the GNU Lesser General Public
17   *  License along with this library; if not, write to the Free Software
18   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19   */
20  package org.xnap.commons.io;
21  
22  import java.awt.Component;
23  
24  /***
25   * Defines the requirements for classes that monitor operations
26   * to display user visible feedback.
27   */
28  public interface ProgressMonitor { 
29  
30  	/***
31  	 * Returns the component that displays the progress. This could be a dialog,
32  	 * a progress bar or <code>null</code>.
33  	 * 
34  	 * @return null, if this monitor is not displayed by a component; the
35  	 *         component, otherwise
36  	 */
37  	Component getComponent();
38  	
39  	/***
40  	 * Returns true, if the operation has been cancelled by the user.
41  	 */
42  	boolean isCancelled();
43  	
44  	/***
45  	 * Enables the cancel button.
46  	 * <p>
47  	 * Per default we assume cancelling is enabled. 
48  	 */
49  	void setCancelEnabled(boolean enabled);
50  	
51  	/***
52  	 * Sets the maximum value.
53  	 */
54  	void setTotalSteps(long max);
55  	
56  	/***
57  	 * Sets the current value.
58  	 *
59  	 * @param value min <= value <= max
60  	 */
61  	void setValue(long value);
62  
63  	/***
64  	 * Sets the message text.
65  	 */
66  	void setText(String text);
67  
68  	/***
69  	 * Increase the value by amount.
70  	 */
71  	void work(long amount);
72  
73  }