View Javadoc

1   /***
2    * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3    */
4   package net.sourceforge.pmd.cpd;
5   
6   import java.io.File;
7   import java.io.FilenameFilter;
8   
9   public class AnyLanguage implements Language {
10  
11      public static class AnyFileOrDirectoryFilter implements FilenameFilter {
12      	String extension;
13      	public AnyFileOrDirectoryFilter(String extension) {
14      		this.extension = extension;
15      	}
16          public boolean accept(File dir, String filename) {
17              return filename.endsWith(extension) || (new File(dir.getAbsolutePath() + System.getProperty("file.separator") + filename).isDirectory());
18          }
19      }
20  
21      private AnyTokenizer tokenizer;
22      private String extension;
23      
24      public AnyLanguage(String extension) {
25      	this.extension = extension;
26          tokenizer = new AnyTokenizer();
27      }
28      
29      public Tokenizer getTokenizer() {
30          return tokenizer;
31      }
32  
33      public FilenameFilter getFileFilter() {
34          return new AnyFileOrDirectoryFilter(this.extension);
35      }
36  }