001 package org.apache.torque.util; 002 003 import java.io.File; 004 import java.util.ArrayList; 005 import java.util.List; 006 007 import org.codehaus.plexus.util.DirectoryScanner; 008 009 /** 010 * This class provides a simple method for scanning a directory for files that match include/exclude patterns 011 */ 012 public class SimpleScanner extends DirectoryScanner { 013 private static final String FS = System.getProperty("file.separator"); 014 015 public SimpleScanner() { 016 this(null, null, null); 017 } 018 019 public SimpleScanner(File baseDir, String include, String exclude) { 020 super(); 021 if (baseDir != null) { 022 setBasedir(baseDir); 023 } 024 if (include != null) { 025 setIncludes(new String[] { include }); 026 } 027 if (exclude != null) { 028 setExcludes(new String[] { exclude }); 029 } 030 } 031 032 /** 033 * This method returns files that match an include pattern but do not match an exclude pattern 034 */ 035 public List<File> getFiles() { 036 scan(); 037 String[] includedFiles = getIncludedFiles(); 038 List<File> files = new ArrayList<File>(); 039 for (String includedFile : includedFiles) { 040 String filename = getBasedir().getAbsolutePath() + FS + includedFile; 041 File file = new File(filename); 042 files.add(file); 043 } 044 return files; 045 } 046 }