Interface FileScanner

  • All Known Implementing Classes:
    AntFileScanner, RegexFileScanner

    public interface FileScanner

    Responsible for scanning a directory for files whose match certain criteria.

    Example:

     public class ExampleMojo extends AbstractMojo {
    
         // source directory
         protected File sourceDirectory;
         // included files pattern
         protected String[] includes;
         // excluded files pattern
         protected String[] excludes;
         // fileset pattern format
         protected String filesetPatternFormat;
    
         public void execute() {
             Collection<File> files = getFiles();
             if (files.isEmpty()) {
                 getLog().warn("No sources to process");
                 return;
             }
    
             // logic which process files
             ...
    
         }
     
         private Collection<File> getFiles() {
            ScannerPatternFormat patternFormat = ScannerPatternFormat.toPattern(filesetPatternFormat);
            FileScanner scanner = new ScannerFactory().create(patternFormat, getLog());
            return scanner.getFiles(sourceDirectory, includes, excludes);
        }
     }
     
    Since:
    1.0
    • Method Detail

      • getFiles

        Collection<File> getFiles​(File directory,
                                  String[] includes,
                                  String[] excludes)
        Returns files contained by a directory.
        Parameters:
        directory - the directory to be scanned.
        includes - an array of include patterns.
        excludes - an array of exclude patterns
        Returns:
        files contained by a directory.
        Since:
        1.0