@CheckForNull public URL findSibling(@NonNull final Collection<? extends URL> candidates) { URL res = null; for (URL candiate : candidates) { if (root == null || FileObjects.isParentOf(root, candiate)) { res = candiate; break; } } return res; }
private URL getOwnerRootSib (final URL sibling) throws MalformedURLException { assert sibling != null; for (ClassPath.Entry entry : userRoots.entries()) { final URL rootURL = entry.getURL(); if (FileObjects.isParentOf(rootURL, sibling)) { return rootURL; } } for (ClassPath.Entry entry : sourceRoots.entries()) { final URL rootURL = entry.getURL(); if (FileObjects.isParentOf(rootURL, sibling)) { return rootURL; } } return null; }
@CheckForNull private static URL getOwnerRoot (@NonNull final URL source, @NonNull final URL root) throws URISyntaxException { assert source != null; assert root != null; if (FileObjects.isParentOf(root, source)) { return root; } else { return null; } }
private File getClassFolderForSourceImpl (final URL sibling) throws IOException { List<ClassPath.Entry> entries = this.scp.entries(); int eSize = entries.size(); if ( eSize == 1) { return getClassFolder(entries.get(0).getURL()); } if (eSize == 0) { return null; } try { for (ClassPath.Entry entry : entries) { URL rootUrl = entry.getURL(); if (FileObjects.isParentOf(rootUrl, sibling)) { return getClassFolder(rootUrl); } } } catch (IllegalArgumentException e) { //Logging for issue #151416 String message = String.format("uri: %s", sibling.toString()); throw Exceptions.attachMessage(e, message); } return null; }
private File getClassFolderForApt(final @NonNull URL surl) { for (ClassPath.Entry entry : apt.entries()) { if (FileObjects.isParentOf(entry.getURL(), surl)) { final URL classFolder = AptCacheForSourceQuery.getClassFolder(entry.getURL()); if (classFolder != null) { try { return BaseUtilities.toFile(classFolder.toURI()); } catch (URISyntaxException ex) { Exceptions.printStackTrace(ex); } } } } return null; }