@Override public FileTree visit(final Action<? super FileVisitDetails> visitor) { return visit(new FileVisitor() { @Override public void visitDir(FileVisitDetails dirDetails) { visitor.execute(dirDetails); } @Override public void visitFile(FileVisitDetails fileDetails) { visitor.execute(fileDetails); } }); }
@Override public void visitTreeOrBackingFile(FileVisitor visitor) { visit(visitor); }
public FileTree visit(final FileVisitor visitor) { fileTree.visit(new FileVisitor() { public void visitDir(FileVisitDetails dirDetails) { if (spec.isSatisfiedBy(dirDetails)) { visitor.visitDir(dirDetails); } } public void visitFile(FileVisitDetails fileDetails) { if (spec.isSatisfiedBy(fileDetails)) { visitor.visitFile(fileDetails); } } }); return this; }
public Set<File> getFiles() { final Set<File> files = new LinkedHashSet<File>(); visit(new EmptyFileVisitor() { public void visitFile(FileVisitDetails fileDetails) { files.add(fileDetails.getFile()); } }); return files; }
public Map<String, File> getAsMap() { final Map<String, File> map = new LinkedHashMap<String, File>(); visit(new EmptyFileVisitor() { public void visitFile(FileVisitDetails fileDetails) { map.put(fileDetails.getRelativePath().getPathString(), fileDetails.getFile()); } }); return map; }
@Override public boolean isEmpty() { final AtomicBoolean found = new AtomicBoolean(); visit(new EmptyFileVisitor() { public void visitFile(FileVisitDetails fileDetails) { found.set(true); fileDetails.stopVisiting(); } }); return !found.get(); }
/** * Visits all the files of this tree. */ protected boolean visitAll() { final AtomicBoolean hasContent = new AtomicBoolean(); visit(new FileVisitor() { public void visitDir(FileVisitDetails dirDetails) { dirDetails.getFile(); hasContent.set(true); } public void visitFile(FileVisitDetails fileDetails) { fileDetails.getFile(); hasContent.set(true); } }); return hasContent.get(); }
public FileTree visit(Closure closure) { return visit(fileVisitorFrom(closure)); }