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 }