@Override protected Class<?> checkCacheBefore(BaseClassLoader classLoader, String name, String path, boolean allExports) { if (parent == null || parent instanceof CacheLoader == false) return null; ClassFilter filter = getParentPolicy().getBeforeFilter(); if (filter.matchesClassName(name)) { CacheLoader loader = (CacheLoader) parent; return loader.checkClassCache(classLoader, name, path, allExports); } return null; }
/** * Only check parent after if we already blacklisted this resource. * * @param classLoader the classloader (possibly null) * @param name the name * @param path the path of the class resource * @param allExports whether to look at all exports * @return cached result if found in parent */ @Override protected Class<?> checkCacheAfter(BaseClassLoader classLoader, String name, String path, boolean allExports) { if (parent == null || parent instanceof CacheLoader == false || isBlackListedClass(path) == false) return null; ClassFilter filter = getParentPolicy().getAfterFilter(); if (filter.matchesClassName(name)) { CacheLoader loader = (CacheLoader) parent; return loader.checkClassCache(classLoader, name, path, allExports); } return null; } }