package nebula.lang;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class NebulaClassLoader extends ClassLoader {
static Log log = LogFactory.getLog(NebulaClassLoader.class);
public NebulaClassLoader() {
super(NebulaClassLoader.class.getClassLoader());
}
static NebulaClassLoader instance;
public static final Class<?> defineClass(String name, byte[] b) {
if(log.isDebugEnabled()){
log.debug("defineClass [ " + name + " ]");
}
if (instance == null) instance = new NebulaClassLoader();
return instance.defineClass(name, b, 0, b.length);
}
static ClassLoader getInstance() {
if (instance == null) instance = new NebulaClassLoader();
return instance;
}
public static void doResolveClass(Class<?> clzBroker) {
if (instance == null) instance = new NebulaClassLoader();
instance.resolveClass(clzBroker);
}
}