in src/main/java/org/apache/sling/commons/compiler/impl/EclipseJavaCompiler.java [81:108]
private ClassLoader getClassLoader(final Options options, final ClassLoaderWriter classLoaderWriter) {
final ClassLoader loader;
if ( options.get(Options.KEY_CLASS_LOADER) != null ) {
loader = (ClassLoader)options.get(Options.KEY_CLASS_LOADER);
} else if ( options.get(Options.KEY_ADDITIONAL_CLASS_LOADER) != null ) {
final ClassLoader additionalClassLoader = (ClassLoader)options.get(Options.KEY_ADDITIONAL_CLASS_LOADER);
loader = new ClassLoader(classLoaderWriter.getClassLoader()) {
@Override
protected Class<?> findClass(String name)
throws ClassNotFoundException {
return additionalClassLoader.loadClass(name);
}
@Override
protected URL findResource(String name) {
return additionalClassLoader.getResource(name);
}
};
} else {
final ClassLoader cl = classLoaderWriter.getClassLoader();
if ( cl == null ) {
loader = this.classLoaderWriter.getClassLoader();
} else {
loader = cl;
}
}
return loader;
}