View Javadoc

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  }