1 /*** 2 * BSD-style license; for more info see http://pmd.sourceforge.net/license.html 3 */ 4 package net.sourceforge.pmd.rules; 5 6 import net.sourceforge.pmd.ast.ASTCompilationUnit; 7 import net.sourceforge.pmd.ast.ASTImportDeclaration; 8 import net.sourceforge.pmd.rules.design.ExcessiveNodeCountRule; 9 10 /*** 11 * ExcessiveImports attempts to count all unique imports a class 12 * contains. This rule will count a "import com.something.*;" as a single 13 * import. This is a unqiue situation and I'd like to create an audit type 14 * rule that captures those. 15 * 16 * @author aglover 17 * @since Feb 21, 2003 18 */ 19 public class ExcessiveImports extends ExcessiveNodeCountRule { 20 21 public ExcessiveImports() { 22 super(ASTCompilationUnit.class); 23 } 24 25 /*** 26 * Hook method to count imports. This is a user defined value. 27 * 28 * @param ASTImportDeclaration node 29 * @param Object data 30 * @return Object 31 */ 32 public Object visit(ASTImportDeclaration node, Object data) { 33 return new Integer(1); 34 } 35 }