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

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



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