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   import java.util.Properties;
9   
10  public class JavaLanguage implements Language {
11  
12      public static class JavaFileOrDirectoryFilter implements FilenameFilter {
13          public boolean accept(File dir, String filename) {
14              return (filename.endsWith("java") || (new File(dir.getAbsolutePath() + System.getProperty("file.separator") + filename).isDirectory())) && !filename.equals("SCCS");
15          }
16      }
17  
18      private JavaTokenizer tokenizer;
19      
20      public JavaLanguage() {
21          this(new Properties());
22      }
23      
24      public JavaLanguage(Properties properties) {
25          tokenizer = new JavaTokenizer();
26          tokenizer.setProperties(properties);
27      }
28      
29      public Tokenizer getTokenizer() {
30          return tokenizer;
31      }
32  
33      public FilenameFilter getFileFilter() {
34          return new JavaFileOrDirectoryFilter();
35      }
36  }