Revision 21292 trunk/extensions/extTopology/src/com/iver/cit/gvsig/geoprocess/core/AbstractMonitorableGeoprocess.java

View differences:

AbstractMonitorableGeoprocess.java
42 42
 *   dac@iver.es
43 43
 */
44 44
/* CVS MESSAGES:
45
*
46
* $Id: 
47
* $Log: 
48
*/
45
 *
46
 * $Id: 
47
 * $Log: 
48
 */
49 49
package com.iver.cit.gvsig.geoprocess.core;
50 50

  
51
import com.iver.cit.gvsig.geoprocess.GenericGeoprocessTask;
51 52
import com.iver.cit.gvsig.geoprocess.core.fmap.AbstractGeoprocess;
52 53
import com.iver.cit.gvsig.geoprocess.core.fmap.GeoprocessException;
53 54
import com.iver.utiles.swing.threads.CancellableProgressTask;
55
import com.iver.utiles.swing.threads.IMonitorableTask;
54 56

  
55 57
/**
56 58
 * Abstract geoprocess that is monitorable.
57 59
 * 
58
 * This abstract geoprocess allows to monitor the advance of a geoprocess without
59
 * creating a task by each geoprocess (instead we are going to use the same task,
60
 * CancellableProgressTask)
60
 * This abstract geoprocess allows to monitor the advance of a geoprocess
61
 * without creating a task by each geoprocess (instead we are going to use the
62
 * same task, CancellableProgressTask)
61 63
 * 
62 64
 * 
63 65
 * @author Alvaro Zabala
64
 *
66
 * 
65 67
 */
66 68
public abstract class AbstractMonitorableGeoprocess extends AbstractGeoprocess {
67 69

  
68
		
69
	    /**
70
	     * Executes the geoprocess passing monitorization or cancelation messages
71
	     * to the specified progress monitor instance.
72
	     * @param progressMonitor
73
	     */
74
		public abstract void process(CancellableProgressTask progressMonitor) throws GeoprocessException;
75
		
76
		/**
77
		 * Initialize reporting params of progressMonitor with geoprocess information
78
		 * @param progressMonitor
79
		 */
80
		public abstract void initialize(CancellableProgressTask progressMonitor)throws GeoprocessException;
70
	
71
	/**
72
	 * the geoprocess will operate only with selected elements of layer, or with
73
	 * all elements.<br>
74
	 * By default, it work with all elements.
75
	 */
76
	protected boolean operateOnlyWithSelection = false;
77
	
78
	/**
79
	 * Executes the geoprocess passing monitorization or cancelation messages to
80
	 * the specified progress monitor instance.
81
	 * 
82
	 * @param progressMonitor
83
	 */
84
	public void process() throws GeoprocessException {
85
		try {
86
			createTask().run();
87
		} catch (Exception e) {
88
			throw new GeoprocessException("Error al ejecutar la tarea", e);
89
		}
90
	}
91
	
92
	/**
93
	 * Creates a task to execute this geoprocess in background
94
	 */
95
	public IMonitorableTask createTask() {
96
		return new GenericGeoprocessTask(this);
97
	}
98
	
99
	
100
	/**
101
	 * Executes the geoprocess passing monitorization or cancelation messages to
102
	 * the specified progress monitor instance.
103
	 * 
104
	 * @param progressMonitor
105
	 */
106
	public abstract void process(CancellableProgressTask progressMonitor) throws GeoprocessException;
81 107

  
108
	/**
109
	 * Initialize reporting params of progressMonitor with geoprocess
110
	 * information
111
	 * 
112
	 * @param progressMonitor
113
	 */
114
	public abstract void initialize(CancellableProgressTask progressMonitor)
115
			throws GeoprocessException;
116

  
82 117
}

Also available in: Unified diff