1
2
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 }