private boolean isMine(URL myURL, String resourceName) { if (myURL == null) { return false; } ClassLoaderDomain domain = domainRef.get(); Loader parent = domain.getParent(); URL parentURL = parent.getResource(resourceName); if (parentURL == null) { return true; } if (!myURL.equals(parentURL)) { return true; } return false; }
/** * Try to get resources from the parent * * @param name the name * @param urls the urls to add to * @throws IOException for any error */ // FindBugs: The Set doesn't use equals/hashCode protected void getResourcesFromParent(String name, Set<URL> urls) throws IOException { Loader parentLoader = getParent(); boolean trace = log.isTraceEnabled(); if (parentLoader == null) { if (trace) log.trace(this + " not getting resources from non-existant parent"); return; } if (trace) log.trace(this + " get resources from parent " + name + " parent=" + parentLoader); parentLoader.getResources(name, urls); }
/** * Run the class load * * @throws ClassNotFoundException */ void run() throws ClassNotFoundException { if (loadedClass == null) { Class<?> theClass = loader.loadClass(className); setLoadedClass(theClass); } else if (trace) { log.trace("Already found class(" + loadedClass + "), skipping load class"); } } }
parentLoader.getPackages(parentPackages); for (Package parentPackage : parentPackages)
/** * Try to get a package from the parent * * @param name the name * @return the package if found */ protected Package getPackageFromParent(String name) { Loader parentLoader = getParent(); boolean trace = log.isTraceEnabled(); if (parentLoader == null) { if (trace) log.trace(this + " not getting package from non-existant parent"); return null; } if (trace) log.trace(this + " get package from parent " + name + " parent=" + parentLoader); Package result = parentLoader.getPackage(name); if (trace) { if (result != null) log.trace(this + " got package from parent " + name + " parent=" + parentLoader + " " + result); else log.trace(this + " package not found in parent " + name + " parent=" + parentLoader); } return result; }
parentLoader.getPackages(parentPackages); for (Package parentPackage : parentPackages)
/** * Try to get a package from the parent * * @param name the name * @return the package if found */ protected Package getPackageFromParent(String name) { Loader parentLoader = getParent(); boolean trace = log.isTraceEnabled(); if (parentLoader == null) { if (trace) log.trace(this + " not getting package from non-existant parent"); return null; } if (trace) log.trace(this + " get package from parent " + name + " parent=" + parentLoader); Package result = parentLoader.getPackage(name); if (trace) { if (result != null) log.trace(this + " got package from parent " + name + " parent=" + parentLoader + " " + result); else log.trace(this + " package not found in parent " + name + " parent=" + parentLoader); } return result; }
/** * Try to get a resource from the parent * * @param name the name * @return the url if found */ protected URL getResourceFromParent(String name) { Loader parentLoader = getParent(); boolean trace = log.isTraceEnabled(); if (parentLoader == null) { if (trace) log.trace(this + " not getting resource from non-existant parent"); return null; } if (trace) log.trace(this + " get resource from parent " + name + " parent=" + parentLoader); URL result = parentLoader.getResource(name); if (trace) { if (result != null) log.trace(this + " got resource from parent " + name + " parent=" + parentLoader + " " + result); else log.trace(this + " resource not found in parent " + name + " parent=" + parentLoader); } return result; }
/** * Run the class load * * @throws ClassNotFoundException if class cannot be loaded */ void run() throws ClassNotFoundException { Class<?> loadedClass = getLoadedClass(); if (loadedClass == null) { Class<?> theClass = loader.loadClass(className); setLoadedClass(theClass); } else if (trace) { log.trace("Already found class(" + loadedClass + "), skipping load class"); } } }
/** * Try to get resources from the parent * * @param name the name * @param urls the urls to add to * @throws IOException for any error */ protected void getResourcesFromParent(String name, Set<URL> urls) throws IOException { Loader parentLoader = getParent(); boolean trace = log.isTraceEnabled(); if (parentLoader == null) { if (trace) log.trace(this + " not getting resources from non-existant parent"); return; } if (trace) log.trace(this + " get resources from parent " + name + " parent=" + parentLoader); parentLoader.getResources(name, urls); }
/** * Try to get a resource from the parent * * @param name the name * @return the url if found */ protected URL getResourceFromParent(String name) { Loader parentLoader = getParent(); boolean trace = log.isTraceEnabled(); if (parentLoader == null) { if (trace) log.trace(this + " not getting resource from non-existant parent"); return null; } if (trace) log.trace(this + " get resource from parent " + name + " parent=" + parentLoader); URL result = parentLoader.getResource(name); if (trace) { if (result != null) log.trace(this + " got resource from parent " + name + " parent=" + parentLoader + " " + result); else log.trace(this + " resource not found in parent " + name + " parent=" + parentLoader); } return result; }
/** * Try to find a load a from the parent * * @param name the name * @return the class if found */ protected Class<?> loadClassFromParent(String name) { Loader parentLoader = getParent(); boolean trace = log.isTraceEnabled(); if (parentLoader == null) { if (trace) log.trace(this + " not loading from non-existant parent"); return null; } if (trace) log.trace(this + " load class from parent " + name + " parent=" + parent); // Recurse into parent domains return parentLoader.loadClass(name); }
if (parentLoader.getResource(name) != null) return parentLoader;
/** * Try to find a load a from the parent * * @param name the name * @return the class if found */ protected Class<?> loadClassFromParent(String name) { Loader parentLoader = getParent(); boolean trace = log.isTraceEnabled(); if (parentLoader == null) { if (trace) log.trace(this + " not loading from non-existant parent"); return null; } if (trace) log.trace(this + " load class from parent " + name + " parent=" + parent); // Recurse into parent domains return parentLoader.loadClass(name); }
if (parentLoader.getResource(name) != null) return parentLoader;
return (loader != null) ? loader.loadClass(name) : null;
URL url = loader.getResource(name); if (url != null)