All Downloads are FREE. Search and download functionalities are using the official Maven repository.

resources.report.rules.pmd.ClassWithOnlyPrivateConstructorsShouldBeFinal.html Maven / Gradle / Ivy



ClassWithOnlyPrivateConstructorsShouldBeFinal

ClassWithOnlyPrivateConstructorsShouldBeFinal

A class with only private constructors should be final, unless the private constructor is invoked by a inner class.

TypeDeclaration[count(../TypeDeclaration) = 1]/ClassOrInterfaceDeclaration
[@Final = 'false']
[count(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration[@Private = 'true']) >= 1 ]
[count(./ClassOrInterfaceBody/ClassOrInterfaceBodyDeclaration/ConstructorDeclaration[(@Public = 'true') or (@Protected = 'true') or (@PackagePrivate = 'true')]) = 0 ]
[not(.//ClassOrInterfaceDeclaration)]

Example(s):

public class Foo {  //Should be final
    private Foo() { }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy