1 package net.sourceforge.pmd.rules;
2
3 import net.sourceforge.pmd.AbstractRule;
4 import net.sourceforge.pmd.RuleContext;
5 import net.sourceforge.pmd.ast.ASTConstructorDeclaration;
6 import net.sourceforge.pmd.ast.ASTUnmodifiedClassDeclaration;
7
8 import java.util.ArrayList;
9 import java.util.List;
10
11 public class AtLeastOneConstructorRule extends AbstractRule {
12
13 public Object visit(ASTUnmodifiedClassDeclaration node, Object data) {
14 List constructors = new ArrayList();
15 node.findChildrenOfType(ASTConstructorDeclaration.class, constructors, false);
16 if (constructors.isEmpty()) {
17 RuleContext ctx = (RuleContext) data;
18 ctx.getReport().addRuleViolation(createRuleViolation(ctx, node.getBeginLine()));
19 }
20 return super.visit(node, data);
21 }
22 }
This page was automatically generated by Maven