Fixed a bug in Am2900; created dlatch8/80; relayouted some components
[Mograsim.git] / net.mograsim.logic.model / src / net / mograsim / logic / model / serializing / ClassLoaderBasedResourceLoader.java
1 package net.mograsim.logic.model.serializing;
2
3 import java.io.IOException;
4 import java.io.InputStream;
5
6 public abstract class ClassLoaderBasedResourceLoader implements ResourceLoader
7 {
8         @Override
9         public InputStream loadResource(String path) throws IOException
10         {
11                 return getClassLoader().getResourceAsStream(path);
12         }
13
14         @Override
15         public Class<?> loadClass(String name) throws ClassNotFoundException
16         {
17                 return ReflectionHelper.tryInvokeStaticInitializer(name, getClassLoader());
18         }
19
20         public abstract ClassLoader getClassLoader();
21
22         public static ClassLoaderBasedResourceLoader create(ClassLoader loader)
23         {
24                 return new ClassLoaderBasedResourceLoader()
25                 {
26                         @Override
27                         public ClassLoader getClassLoader()
28                         {
29                                 return loader;
30                         }
31                 };
32         }
33 }