Reduce use of BaseTemplate.getterMethodName() 65/89265/1
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 22 Apr 2020 12:24:55 +0000 (14:24 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 22 Apr 2020 12:24:55 +0000 (14:24 +0200)
We are using BuilderGeneratedProperty in Builder(Impl)Template,
and this class has access to the getter method. We therefore do
not need to construct the getter name, but rather can access it
directly.

Change-Id: I1b61c347d2919acf763d1f7d11ca9471b8a25f0f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderGeneratedProperty.java
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderImplTemplate.xtend
binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend

index 46c18e060aa56e23eafb7c7a1aac1b54fde6d437..d884dcf94486e2e7927e96a8ff9b0519c17fc607 100644 (file)
@@ -18,12 +18,12 @@ import org.opendaylight.mdsal.binding.model.api.MethodSignature.ValueMechanics;
 import org.opendaylight.mdsal.binding.model.api.Type;
 
 final class BuilderGeneratedProperty implements GeneratedProperty {
-    private final MethodSignature method;
+    private final MethodSignature getter;
     private final String name;
 
-    BuilderGeneratedProperty(final String name, final MethodSignature method) {
+    BuilderGeneratedProperty(final String name, final MethodSignature getter) {
         this.name = requireNonNull(name);
-        this.method = requireNonNull(method);
+        this.getter = requireNonNull(getter);
     }
 
     @Override
@@ -33,11 +33,15 @@ final class BuilderGeneratedProperty implements GeneratedProperty {
 
     @Override
     public Type getReturnType() {
-        return method.getReturnType();
+        return getter.getReturnType();
     }
 
     ValueMechanics getMechanics() {
-        return method.getMechanics();
+        return getter.getMechanics();
+    }
+
+    String getGetterName() {
+        return getter.getName();
     }
 
     @Override
@@ -54,7 +58,7 @@ final class BuilderGeneratedProperty implements GeneratedProperty {
             return false;
         }
         final BuilderGeneratedProperty other = (BuilderGeneratedProperty) obj;
-        return name.equals(other.name) && method.equals(other.method);
+        return name.equals(other.name) && getter.equals(other.getter);
     }
 
     @Override
index 4228b2c11a8821dfe54e4202267618902e0a163b..c4df75d62eb49d6bedd6d098ce9b24fef1b8911b 100644 (file)
@@ -108,7 +108,7 @@ class BuilderImplTemplate extends AbstractBuilderTemplate {
                 «targetType.importedName» other = («targetType.importedName»)obj;
                 «FOR property : properties»
                     «val fieldName = property.fieldName»
-                    if (!«property.importedUtilClass».equals(«fieldName», other.«property.getterMethodName»())) {
+                    if (!«property.importedUtilClass».equals(«fieldName», other.«property.getterName»())) {
                         return false;
                     }
                 «ENDFOR»
@@ -151,9 +151,9 @@ class BuilderImplTemplate extends AbstractBuilderTemplate {
     override protected CharSequence generateCopyNonKeys(Collection<BuilderGeneratedProperty> props) '''
         «FOR field : props»
             «IF field.mechanics === ValueMechanics.NULLIFY_EMPTY»
-                this.«field.fieldName» = «CODEHELPERS.importedName».emptyToNull(base.«field.getterMethodName»());
+                this.«field.fieldName» = «CODEHELPERS.importedName».emptyToNull(base.«field.getterName»());
             «ELSE»
-                this.«field.fieldName» = base.«field.getterMethodName»();
+                this.«field.fieldName» = base.«field.getterName»();
             «ENDIF»
         «ENDFOR»
     '''
index 09ac0700b0fe59983e13937b8cbb52e8385b6094..59aaaf9d1e51ad08c3c4bb3d389faebd796551d5 100644 (file)
@@ -458,7 +458,7 @@ class BuilderTemplate extends AbstractBuilderTemplate {
 
     override protected CharSequence generateCopyNonKeys(Collection<BuilderGeneratedProperty> props) '''
         «FOR field : props»
-            this.«field.fieldName» = base.«field.getterMethodName»();
+            this.«field.fieldName» = base.«field.getterName»();
         «ENDFOR»
     '''