1     /**
2      * Curso Básico de desarrollo de Juegos en Java - Invaders
3      * 
4      * (c) 2004 Planetalia S.L. - Todos los derechos reservados. Prohibida su reproducción
5      * 
6      * http://www.planetalia.com
7      * 
8      */
9     
10    package version28;
11    
12    import java.net.URL;
13    import java.util.HashMap;
14    
15    public abstract class ResourceCache {
16      protected HashMap resources;
17      
18      public ResourceCache() {
19        resources = new HashMap();
20      }
21      
22      protected Object loadResource(String name) {
23        URL url=null;
24        url = getClass().getClassLoader().getResource(name);
25        return loadResource(url);
26      }
27      
28      protected Object getResource(String name) {
29        Object res = resources.get(name);
30        if (res == null) {
31          res = loadResource("res/"+name);
32          resources.put(name,res);
33        }
34        return res;
35      }
36      
37      protected abstract Object loadResource(URL url);
38    
39    }
40