1
2
3
4 package net.sourceforge.pmd.lang.java.rule.imports;
5
6 import net.sourceforge.pmd.lang.java.ast.ASTImportDeclaration;
7 import net.sourceforge.pmd.lang.java.rule.AbstractJavaRule;
8 import net.sourceforge.pmd.util.StringUtil;
9
10 public class ImportFromSamePackageRule extends AbstractJavaRule {
11
12 public Object visit(ASTImportDeclaration importDecl, Object data) {
13 String packageName = importDecl.getScope().getEnclosingSourceFileScope().getPackageName();
14
15 if (packageName != null && packageName.equals(importDecl.getPackageName())) {
16 addViolation(data, importDecl);
17 }
18
19
20 if (packageName == null && StringUtil.isEmpty(importDecl.getPackageName())) {
21 addViolation(data, importDecl);
22 }
23 return data;
24 }
25 }