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

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

Go to download

Sanity4J was created to simplify running multiple static code analysis tools on the Java projects. It provides a single entry point to run all the selected tools and produce a consolidated report, which presents all findings in an easily accessible manner.

There is a newer version: 1.8.2
Show newest version


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