This rule is defined by the following XPath expression:
//ClassOrInterfaceDeclaration [@Abstract='true' and count( .//MethodDeclaration[@Abstract='true'] )=0 ] [count(ImplementsList)=0] [count(.//ExtendsList)=0]
Example:
public abstract class Foo { void int method1() { ... } void int method2() { ... } // consider using abstract methods or removing // the abstract modifier and adding protected constructors }