@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { if (node.isAbstract()) { checkMatches(node, abstractClassRegex, data); } else if (isUtilityClass(node)) { checkMatches(node, utilityClassRegex, data); } else if (node.isInterface()) { checkMatches(node, interfaceRegex, data); } else { checkMatches(node, classRegex, data); } return data; }
@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { if (node.isAbstract() || node.isInterface() || node.isNested()) { return data; } List<ASTMethodDeclaration> m = node.findDescendantsOfType(ASTMethodDeclaration.class); boolean testsFound = false; if (m != null) { for (ASTMethodDeclaration md : m) { if (isJUnitMethod(md, data)) { testsFound = true; break; } } } if (!testsFound) { addViolation(data, node); } return data; } }
@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { if (node.isInterface() && node.isAbstract()) { // an abstract interface reportUnnecessaryModifiers(data, node, Modifier.ABSTRACT, "interface types are implicitly abstract"); } if (!node.isNested()) { return data; } boolean isParentInterfaceOrAnnotation = node.enclosingTypeIsA(TypeKind.INTERFACE, TypeKind.ANNOTATION); // a public class or interface within an interface or annotation if (node.isPublic() && isParentInterfaceOrAnnotation) { reportUnnecessaryModifiers(data, node, Modifier.PUBLIC, "members of " + getPrintableNodeKind(node.getEnclosingTypeDeclaration()) + " types are implicitly public"); } if (node.isStatic()) { if (node.isInterface()) { // a static interface reportUnnecessaryModifiers(data, node, Modifier.STATIC, "member interfaces are implicitly static"); } else if (isParentInterfaceOrAnnotation) { // a type nested within an interface reportUnnecessaryModifiers(data, node, Modifier.STATIC, "types nested within an interface type are implicitly static"); } } return data; }
if (decl.jjtGetParent() instanceof ASTClassOrInterfaceDeclaration) { ASTClassOrInterfaceDeclaration parent = (ASTClassOrInterfaceDeclaration) decl.jjtGetParent(); if (parent.isAbstract() || parent.isInterface() || parent.getSuperClassTypeNode() != null) { return data;
@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { if (node.isAbstract()) { checkMatches(node, abstractClassRegex, data); } else if (isUtilityClass(node)) { checkMatches(node, utilityClassRegex, data); } else if (node.isInterface()) { checkMatches(node, interfaceRegex, data); } else { checkMatches(node, classRegex, data); } return data; }
@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { if (node.isAbstract() || node.isInterface() || node.isNested()) { return data; } List<ASTMethodDeclaration> m = node.findDescendantsOfType(ASTMethodDeclaration.class); boolean testsFound = false; if (m != null) { for (ASTMethodDeclaration md : m) { if (isJUnitMethod(md, data)) { testsFound = true; break; } } } if (!testsFound) { addViolation(data, node); } return data; } }
@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { if (node.isAbstract() || node.isInterface() || node.isNested()) { return super.visit(node, data); } List<ASTMethodDeclaration> m = node.findDescendantsOfType(ASTMethodDeclaration.class); boolean testsFound = false; if (m != null) { for (ASTMethodDeclaration md : m) { if (!isInInnerClassOrInterface(md) && isJUnitMethod(md, data)) { testsFound = true; } } } if ((testsFound) && (!(node.getImage().endsWith(TEST_SUFFIX)))) { ViolationUtils.addViolationWithPrecisePosition(this, node, data, I18nResources.getMessage("java.naming.TestClassShouldEndWithTestNamingRule.violation.msg", node.getImage())); } return super.visit(node, data); }
@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { if (node.isInterface()) { return super.visit(node, data); } if (!isPojo(node)) { return super.visit(node, data); } if (node.isAbstract() || withLombokAnnotation(node)) { return super.visit(node, data); } if (!node.hasDescendantMatchingXPath(XPATH)) { ViolationUtils.addViolationWithPrecisePosition(this, node, data, I18nResources.getMessage(MESSAGE_KEY_PREFIX + ".notostring", node.getImage())); } else { checkForExtend(node, data); } return super.visit(node, data); }
@Override public Object visit(ASTClassOrInterfaceDeclaration node, Object data) { if (node.isInterface() && node.isAbstract()) { // an abstract interface reportUnnecessaryModifiers(data, node, Modifier.ABSTRACT, "interface types are implicitly abstract"); } if (!node.isNested()) { return data; } boolean isParentInterfaceOrAnnotation = node.enclosingTypeIsA(TypeKind.INTERFACE, TypeKind.ANNOTATION); // a public class or interface within an interface or annotation if (node.isPublic() && isParentInterfaceOrAnnotation) { reportUnnecessaryModifiers(data, node, Modifier.PUBLIC, "members of " + getPrintableNodeKind(node.getEnclosingTypeDeclaration()) + " types are implicitly public"); } if (node.isStatic()) { if (node.isInterface()) { // a static interface reportUnnecessaryModifiers(data, node, Modifier.STATIC, "member interfaces are implicitly static"); } else if (isParentInterfaceOrAnnotation) { // a type nested within an interface reportUnnecessaryModifiers(data, node, Modifier.STATIC, "types nested within an interface type are implicitly static"); } } return data; }
@Override public Object visit(ASTClassOrInterfaceDeclaration decl, Object data) { if (decl.isAbstract()) { List<ASTMethodDeclaration> methods = decl.findDescendantsOfType(ASTMethodDeclaration.class); for (ASTMethodDeclaration method : methods) {
if (decl.jjtGetParent() instanceof ASTClassOrInterfaceDeclaration) { ASTClassOrInterfaceDeclaration parent = (ASTClassOrInterfaceDeclaration) decl.jjtGetParent(); if (parent.isAbstract() || parent.isInterface() || parent.getSuperClassTypeNode() != null) { return data;