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.ASTClassOrInterfaceDeclaration; 9 10 public class ClassNamingConventions extends AbstractRule { 11 12 public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { 13 if (Character.isLowerCase(node.getImage().charAt(0))) { 14 RuleContext ctx = (RuleContext) data; 15 ctx.getReport().addRuleViolation(createRuleViolation(ctx, node, getMessage())); 16 } 17 return data; 18 } 19 }