in src/main/java/org/apache/commons/jexl3/internal/FqcnResolver.java [88:123]
String getQualifiedName(final String name) {
String fqcn;
if (parent != null && (fqcn = parent.getQualifiedName(name)) != null) {
return fqcn;
}
lock.readLock().lock();
try {
fqcn = fqcns.get(name);
} finally {
lock.readLock().unlock();
}
if (fqcn == null) {
final ClassLoader loader = uberspect.getClassLoader();
for (final String pkg : imports) {
Class<?> clazz;
try {
clazz = loader.loadClass(pkg + "." + name);
} catch (final ClassNotFoundException e) {
// not in this package
continue;
}
// solved it, insert in map and return
if (clazz != null) {
fqcn = clazz.getName();
lock.writeLock().lock();
try {
fqcns.put(name, fqcn);
} finally {
lock.writeLock().unlock();
}
break;
}
}
}
return fqcn;
}