private void visitResourceClasspath(boolean includeSubPackages, ResourceVisitor visitor, StringBuilder qualifiedNameBuilder, String pathWithPrefix, int qualifiedNamePrefixLength, Set<String> urlSet) throws MalformedURLException, UnsupportedEncodingException, IOException { String classpath = System.getProperty(PROPERTY_JAVA_CLASS_PATH); String separator = System.getProperty(PROPERTY_PATH_SEPARATOR); String[] entries = classpath.split(separator); for (String entry : entries) { File file = new File(entry); URL url; if (BasicHelper.toLowerCase(file.getName()).endsWith(FILE_EXTENSION_JAR)) { url = createJarUrl(URL_PREFIX_FILE + file.getAbsolutePath()); } else { url = file.toURI().toURL(); } visitResourceUrl(includeSubPackages, visitor, pathWithPrefix, qualifiedNameBuilder, qualifiedNamePrefixLength, url, urlSet); } }
private void visitResourceClassloader(boolean includeSubPackages, ClassLoader classLoader, ResourceVisitor visitor, String pathWithPrefix, StringBuilder qualifiedNameBuilder, int qualifiedNamePrefixLength, Set<String> urlSet) throws IOException { if (classLoader instanceof URLClassLoader) { URLClassLoader urlClassLoader = (URLClassLoader) classLoader; for (URL url : urlClassLoader.getURLs()) { String file = BasicHelper.toLowerCase(url.getFile()); if (file.endsWith(FILE_EXTENSION_JAR)) { URL jarUrl = createJarUrl(url.toString()); visitResourceUrl(includeSubPackages, visitor, pathWithPrefix, qualifiedNameBuilder, qualifiedNamePrefixLength, jarUrl, urlSet); } else { visitResourceUrl(includeSubPackages, visitor, pathWithPrefix, qualifiedNameBuilder, qualifiedNamePrefixLength, url, urlSet); } } } ClassLoader parent = classLoader.getParent(); if (parent != null) { visitResourceClassloader(includeSubPackages, parent, visitor, pathWithPrefix, qualifiedNameBuilder, qualifiedNamePrefixLength, urlSet); } }
while (urls.hasMoreElements()) { URL url = urls.nextElement(); visitResourceUrl(includeSubPackages, visitor, pathWithPrefix, qualifiedNameBuilder, qualifiedNamePrefixLength, url, urlSet);