View Javadoc
1   /**
2    * BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3    */
4   package net.sourceforge.pmd;
5   
6   import net.sourceforge.pmd.lang.java.ast.ASTClassOrInterfaceDeclaration;
7   import net.sourceforge.pmd.lang.java.ast.ASTVariableDeclaratorId;
8   import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule;
9   
10  public class FooRule extends AbstractJavaRule {
11  
12      public FooRule() {
13          setMessage("No Foo allowed");
14      }
15      
16      @Override
17      public Object visit(ASTClassOrInterfaceDeclaration c, Object ctx) {
18          if (c.getImage().equalsIgnoreCase("Foo")) {
19              addViolation(ctx, c);
20          }
21          return super.visit(c, ctx);
22      }
23  
24      @Override
25      public Object visit(ASTVariableDeclaratorId c, Object ctx) {
26          if (c.getImage().equalsIgnoreCase("Foo")) {
27              addViolation(ctx, c);
28          }
29          return super.visit(c, ctx);
30      }
31  
32      @Override
33      public String getName() {
34          return "NoFoo";
35      }
36  }