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

resources.report.rules.pmd.CloneMethodMustBePublic.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


CloneMethodMustBePublic

CloneMethodMustBePublic

The java Manual says “By convention, classes that implement this interface should override Object.clone (which is protected) with a public method.”

                    
//MethodDeclaration[@Public='false']
[
MethodDeclarator/@Image = 'clone'
and MethodDeclarator/FormalParameters/@ParameterCount = 0
]
                    

Example(s):

            
public class Foo implements Cloneable {
    @Override
    protected Object clone() throws CloneNotSupportedException { // Violation, must be public
    }
}

public class Foo implements Cloneable {
    @Override
    protected Foo clone() { // Violation, must be public
    }
}

public class Foo implements Cloneable {
    @Override
    public Object clone() // Ok
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy