
resources.report.rules.pmd.UnnecessaryConstructor.html Maven / Gradle / Ivy
UnnecessaryConstructor
UnnecessaryConstructor
This rule detects when a constructor is not necessary; i.e., when there's only one constructor,
it's public, has an empty body, and takes no arguments.
This rule is defined by the following XPath expression:
//ClassOrInterfaceBody[count(ClassOrInterfaceBodyDeclaration/ConstructorDeclaration)=1]
/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration
[@Public='true']
[not(FormalParameters/*)]
[not(BlockStatement)]
[not(NameList)]
[count(ExplicitConstructorInvocation/Arguments/ArgumentList/Expression)=0]
Example:
public class Foo {
public Foo() {}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy