Class DefaultDirectoryScanner

All Implemented Interfaces:
Direct Known Subclasses:
HeadDirectoryScanner, RecursiveDirectoryScanner

public class DefaultDirectoryScanner extends Object implements DirectoryScanner
Default directory scanner and base class for other directory scanners. Manages the default interrelations between filtering, scanning and locking.
Iwein Fuld, Gunnar Hillert, Artem Bilan
  • Constructor Details

  • Method Details

    • setFilter

      public void setFilter(FileListFilter<File> filter)
      Description copied from interface: DirectoryScanner
      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.
      Specified by:
      setFilter in interface DirectoryScanner
      filter - the custom filter to be used
    • getFilter

      protected FileListFilter<File> getFilter()
    • setLocker

      public final void setLocker(FileLocker locker)
      Description copied from interface: DirectoryScanner
      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.
      Specified by:
      setLocker in interface DirectoryScanner
      locker - the custom locker to be used
    • getLocker

      protected FileLocker getLocker()
    • tryClaim

      public boolean tryClaim(File file)
      This class takes the minimal implementation and merely delegates to the locker if set.
      Specified by:
      tryClaim in interface DirectoryScanner
      file - the file to try to claim.
      true if the claim was granted false otherwise
    • listFiles

      public List<File> listFiles(File directory) throws IllegalArgumentException
      Description copied from interface: DirectoryScanner
      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.
      Specified by:
      listFiles in interface DirectoryScanner
      directory - the directory to scan for files
      a list of files representing the content of the directory
      IllegalArgumentException - if the input is incorrect
    • listEligibleFiles

      protected File[] listEligibleFiles(File directory)
      Subclasses may refine the listing strategy by overriding this method. The files returned here are passed onto the filter.
      directory - root directory to use for listing
      the files this scanner should consider