Statistics
| Revision:

root / trunk / libraries / libRaster / src / org / gvsig / raster / RasterClassLoader.java @ 23668

History | View | Annotate | Download (1.75 KB)

1 14138 nbrodin
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2007 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 */
19
package org.gvsig.raster;
20
21
import java.io.File;
22
import java.io.FileInputStream;
23
24
/**
25
 * Carga de objetos din?mica.
26
 *
27
 * 27/09/2007
28
 * @author Nacho Brodin nachobrodin@gmail.com
29
 */
30
public class RasterClassLoader extends ClassLoader {
31
32
        private String base;
33
34
        public RasterClassLoader(String base) {
35
                this.base = base;
36
        }
37
38
        public RasterClassLoader() {
39
        }
40
41
        /**
42
         *
43
         */
44
        public Class findClass(String className) throws ClassNotFoundException {
45
            String path = base + File.separator + className.replace((char)46, File.separatorChar) + ".class";
46
            Class ret = null;
47
48
            try {
49
              FileInputStream fClass = new FileInputStream(path);
50
              byte[] bClass = new byte[fClass.available()];
51
              fClass.read(bClass);
52
              fClass.close();
53
54
              ret = defineClass(className, bClass, 0, bClass.length);
55
            }catch(Exception e){
56
              throw new ClassNotFoundException();
57
            }
58
59
            return ret;
60
          }
61
}