package org.jabref.logic.util.io; import java.nio.file.Path; import java.util.Collections; import java.util.List; import java.util.Map; import org.jabref.model.entry.BibEntry; public interface FileFinder { /** * Finds all files in the given directories that are probably associated with the given entries and have one of the * passed extensions. * * @param entries The entries to search for. * @param directories The root directories to search. * @param extensions The extensions that are acceptable. */ Map<BibEntry, List<Path>> findAssociatedFiles(List<BibEntry> entries, List<Path> directories, List<String> extensions); default List<Path> findAssociatedFiles(BibEntry entry, List<Path> directories, List<String> extensions) { Map<BibEntry, List<Path>> associatedFiles = findAssociatedFiles(Collections.singletonList(entry), directories, extensions); return associatedFiles.getOrDefault(entry, Collections.emptyList()); } }