Make wrapped class equals() final
[mdsal.git] / binding / mdsal-binding-java-api-generator / src / main / java / org / opendaylight / mdsal / binding / java / api / generator / ClassTemplate.xtend
index d7acf20b7d5bb96e57fd40ee38e58a97554ce3af..8504d1ad0344e6d913452e9b50f9e604d390c635 100644 (file)
@@ -23,6 +23,7 @@ import java.util.Collections
 import java.util.List
 import java.util.Map
 import java.util.regex.Pattern
+import org.gaul.modernizer_maven_annotations.SuppressModernizer
 import org.opendaylight.mdsal.binding.model.api.ConcreteType
 import org.opendaylight.mdsal.binding.model.api.Constant
 import org.opendaylight.mdsal.binding.model.api.Enumeration
@@ -38,6 +39,7 @@ import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition
 /**
  * Template for generating JAVA class.
  */
+@SuppressModernizer
 class ClassTemplate extends BaseTemplate {
 
     protected val List<GeneratedProperty> properties
@@ -504,20 +506,17 @@ class ClassTemplate extends BaseTemplate {
      *
      * @return string with the <code>equals()</code> method definition in JAVA format
      */
-    def protected generateEquals() '''
+    def private generateEquals() '''
         «IF !genTO.equalsIdentifiers.empty»
             @«Override.importedName»
-            public boolean equals(java.lang.Object obj) {
+            public final boolean equals(java.lang.Object obj) {
                 if (this == obj) {
                     return true;
                 }
-                if (obj == null) {
+                if (!(obj instanceof «type.name»)) {
                     return false;
                 }
-                if (getClass() != obj.getClass()) {
-                    return false;
-                }
-                «type.name» other = («type.name») obj;
+                final «type.name» other = («type.name») obj;
                 «FOR property : genTO.equalsIdentifiers»
                     «val fieldName = property.fieldName»
                     if (!«property.importedUtilClass».equals(«fieldName», other.«fieldName»)) {