Adding and usgin something like this helps:
public final class ModuleLocalLoader extends ClassLoaderLocalLoader {
private final Module module;
public ModuleLocalLoader(Module module) {
super(check(module));
this.module = module;
}
private static ClassLoader check(Module module) {
if (module == null)
throw new IllegalArgumentException("Null module");
return module.getClassLoader();
}
public Class<?> loadClassLocal(final String name, final boolean resolve) {
return module.loadModuleClass(name, false, resolve);
}
}
It's public, but it exposes only read only stuff.
Wdyt?