- All Known Implementing Classes:
public interface DirectoryScanner
Strategy for scanning directories. Implementations may select all children and grandchildren of the scanned directory in any order. This interface is intended to enable the customization of selection, locking and ordering of files in a directory like RecursiveDirectoryScanner. If the only requirement is to ignore certain files a EntryListFilter implementation should suffice.
- Iwein Fuld
Modifier and Type Method Description
listFiles(File directory)Scans the directory according to the strategy particular to this implementation and returns the selected files as a File array.
setFilter(FileListFilter<File> filter)Sets a custom filter to be used by this scanner.
setLocker(FileLocker locker)Sets a custom locker to be used by this scanner.
tryClaim(File file)Claim the file to process.
Scans the directory according to the strategy particular to this implementation and returns the selected files as a File array. This method may never return files that are rejected by the filter.
directory- the directory to scan for files
- a list of files representing the content of the directory
IllegalArgumentException- if the input is incorrect
Sets a custom filter to be used by this scanner. The filter will get a chance to reject files before the scanner presents them through its listFiles method. A scanner may use additional filtering that is out of the control of the provided filter.
filter- the custom filter to be used
void setLocker(FileLocker locker)Sets a custom locker to be used by this scanner. The locker will get a chance to lock files and reject claims on files that are already locked.
locker- the custom locker to be used
boolean tryClaim(File file)Claim the file to process. It is up to the implementation to decide what additional safe guards are required to attain a claim to the file. But if a locker is set implementations MUST invoke its
lockmethod and MUST return
falseif the locker did not grant the lock.
file- file to be claimed
- true if the claim was granted false otherwise