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.AbstractRule;
7   import net.sourceforge.pmd.RuleContext;
8   import net.sourceforge.pmd.ast.ASTMethodDeclarator;
9   
10  public class MethodNamingConventionsRule extends AbstractRule {
11  
12    public Object visit(ASTMethodDeclarator node, Object data) {
13      if (Character.isUpperCase(node.getImage().charAt(0))) {
14        RuleContext ctx = (RuleContext)data;
15        ctx.getReport().addRuleViolation(createRuleViolation(ctx, node.getBeginLine(), getMessage()));
16      }
17  
18      if (node.getImage().indexOf("_") >= 0) {
19        String msg = "Method names should not contain underscores";
20        RuleContext ctx = (RuleContext)data;
21        ctx.getReport().addRuleViolation(createRuleViolation(ctx, node.getBeginLine(), msg));
22  
23      }
24      return data;
25    }
26  
27  }