package com.googlecode.totallylazy;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
public class CachedClassLoader extends ClassLoader {
private final Map<String, Class> map = new ConcurrentHashMap<String, Class>();
public CachedClassLoader(ClassLoader parent) {
super(parent);
}
@Override
public Class<?> loadClass(String name) throws ClassNotFoundException {
if (!map.containsKey(name)) {
map.put(name, super.loadClass(name));
}
return map.get(name);
}
}