Archive archive = provider.getArchive( entry.getURL(), cacheFile ); if (archive != null) { Iterable<JavaFileObject> entries = archive.getFiles( folderName, ignoreExcludes?null:entry, kinds, filter); idxs.add(entries); if (LOG.isLoggable(Level.FINEST)) {
@Override public JavaFileObject getJavaFileForInput(Location location, String className, JavaFileObject.Kind kind) throws IOException { if (!hasLocation(location)) { throw new IllegalArgumentException(String.valueOf(location)); } final String [] names = FileObjects.getParentRelativePathAndName(className); if (kind == JavaFileObject.Kind.CLASS) { javax.tools.FileObject fo = tx.readFileObject(location, names[0], names[1]); if (fo != null) { return (JavaFileObject)fo; } } names[1] = names[1] + kind.extension; try { final File root = new File (outputRoot); Archive archive = provider.getArchive (BaseUtilities.toURI(root).toURL(), false); if (archive != null) { Iterable<JavaFileObject> files = archive.getFiles(names[0], null, null, null); for (JavaFileObject e : files) { if (names[1].equals(e.getName())) { return e; } } } } catch (IOException e) { Exceptions.printStackTrace(e); } return null; }
@Override public JavaFileObject getJavaFileForInput (Location l, String className, JavaFileObject.Kind kind) { final String[] namePair = FileObjects.getParentRelativePathAndName(className); namePair[1] = namePair[1] + kind.extension; for( ClassPath.Entry root : this.cp.entries()) { try { Archive archive = provider.getArchive (root.getURL(), cacheFile); if (archive != null) { Iterable<JavaFileObject> files = archive.getFiles(namePair[0], ignoreExcludes?null:root, null, filter); for (JavaFileObject e : files) { if (namePair[1].equals(e.getName())) { return e; } } } } catch (IOException e) { Exceptions.printStackTrace(e); } } return null; }