@Override public boolean accept(Path entry) throws IOException { if (Files.isDirectory(entry)) { return false; } if (kinds == null) { return true; } return kinds.contains(FileObjects.getKind( FileObjects.getExtension(entry.getFileName().toString()))); } }
protected Base ( final String pkgName, final String name, final Charset encoding, final boolean caseSensitive) { assert pkgName != null; assert name != null; this.pkgName = pkgName; String[] res = getNameExtPair(name); this.nameWithoutExt = res[0]; this.ext = res[1]; this.kind = FileObjects.getKind (this.ext); this.encoding = encoding; this.caseSensitive = caseSensitive; }
@Override public boolean apply(final @NonNull String value) { return kinds.contains(FileObjects.getKind(FileObjects.getExtension(value))); } }
List<JavaFileObject> result = new ArrayList<>(content.length); for (File f : content) { final JavaFileObject.Kind fKind = FileObjects.getKind(FileObjects.getExtension(f.getName())); if ((kinds == null || kinds.contains(fKind)) && f.isFile() &&
protected AbstractSourceFileObject ( @NonNull final Handle handle, @NullAllowed final JavaFileFilterImplementation filter) { Parameters.notNull("handle", handle); //NOI18N this.handle = handle; this.filter = filter; final String ext = this.handle.getExt(); this.kind = filter == null ? FileObjects.getKind(ext) : Kind.SOURCE; //#141411 }
@Override public Iterable<JavaFileObject> list(final Location l, final String packageName, final Set<JavaFileObject.Kind> kinds, final boolean recursive) { //Todo: Caching of results, needs listening on FS List<JavaFileObject> result = new ArrayList<JavaFileObject> (); String _name = packageName.replace('.','/'); //NOI18N if (_name.length() != 0) { _name+='/'; //NOI18N } for (ClassPath.Entry entry : this.sourceRoots.entries()) { if (ignoreExcludes || entry.includes(_name)) { FileObject root = entry.getRoot(); if (root != null) { FileObject tmpFile = root.getFileObject(_name); if (tmpFile != null && tmpFile.isFolder()) { Enumeration<? extends FileObject> files = tmpFile.getChildren (recursive); while (files.hasMoreElements()) { FileObject file = files.nextElement(); if (ignoreExcludes || entry.includes(file)) { final JavaFileObject.Kind kind = FileObjects.getKind(file.getExt()); if (kinds.contains(kind)) { result.add (FileObjects.sourceFileObject(file, root)); } } } } } } } return result; }
public Iterable<JavaFileObject> getFiles(String folderName, ClassPath.Entry entry, Set<JavaFileObject.Kind> kinds, JavaFileFilterImplementation filter) throws IOException { FileObject folder = root.getFileObject(folderName); if (folder == null || !(entry == null || entry.includes(folder))) { return Collections.<JavaFileObject>emptySet(); } FileObject[] children = folder.getChildren(); List<JavaFileObject> result = new ArrayList<JavaFileObject>(children.length); for (FileObject fo : children) { if (fo.isData() && (entry == null || entry.includes(fo))) { final Kind kind = FileObjects.getKind(fo.getExt()); if (kinds == null || kinds.contains (kind)) { JavaFileObject file; if (kind == Kind.CLASS) { file = FileObjects.fileObjectFileObject(fo, root, filter, null); } else { file = FileObjects.sourceFileObject(fo, root, filter,false); } result.add(file); } } } return result; }
@Override @NonNull public synchronized Iterable<JavaFileObject> getFiles( @NonNull String folderName, @NullAllowed final ClassPath.Entry entry, @NullAllowed Set<JavaFileObject.Kind> kinds, @NullAllowed JavaFileFilterImplementation filter) throws IOException { init(); final int[] pkgContent = data.get(folderName); if (pkgContent == null || pkgContent == EMPTY_FOLDER) { return Collections.emptyList(); } final List<JavaFileObject> res = new ArrayList<>(pkgContent.length>>>1); for (int i = 0; i < pkgContent.length; i+=2) { final String name = getName(pkgContent[i], pkgContent[i+1]); if (kinds == null || kinds.contains(FileObjects.getKind(FileObjects.getExtension(name)))) { res.add(FileObjects.pathFileObject( folderName, name, root, rootURI, null)); } } return res; }