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 }