Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libRaster / src / org / gvsig / raster / util / Cancellable.java @ 37962

History | View | Annotate | Download (2.05 KB)

1
/* gvSIG. Geographic Information System of the Valencian Government
2
*
3
* Copyright (C) 2007-2008 Infrastructures and Transports Department
4
* of the Valencian Government (CIT)
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, 
19
* MA  02110-1301, USA.
20
* 
21
*/
22

    
23
/*
24
* AUTHORS (In addition to CIT):
25
* 2012 Software Colaborativo (www.scolab.es)   development
26
*/
27
 
28
package org.gvsig.raster.util;
29

    
30
import java.lang.reflect.InvocationTargetException;
31
import java.lang.reflect.Method;
32

    
33
/**
34
 * @author Francisco Jos? Pe?arrubia (fjp@scolab.es)
35
 *
36
 * To avoid libIverUtiles dependency.
37
 * This class is a wrapper around ICancel object, and uses reflection
38
 * to get the job done.
39
 */
40
public class Cancellable {
41
        
42
        Method method = null;
43
        Object obj;
44
        
45
        public Cancellable(Object obj) {
46
                try {
47
                        this.obj = obj;
48
                        method = obj.getClass().getMethod("isCanceled", null);
49
                } catch (SecurityException e) {
50
                        // TODO Auto-generated catch block
51
                        e.printStackTrace();
52
                } catch (NoSuchMethodException e) {
53
                        // TODO Auto-generated catch block
54
                        e.printStackTrace();
55
                }
56
        }
57
        
58
        public boolean isCanceled() {
59
                Object ret = false;
60
                try {
61
                        ret = method.invoke(obj, null);
62
                } catch (IllegalArgumentException e) {
63
                        e.printStackTrace();
64
                } catch (IllegalAccessException e) {
65
                        e.printStackTrace();
66
                } catch (InvocationTargetException e) {
67
                        e.printStackTrace();
68
                }
69
                
70
                return (Boolean) ret;
71
        }
72

    
73
}
74