Augmentation property included in toString method in generated Builder classes. 36/3636/1
authorMartin Vitez <mvitez@cisco.com>
Wed, 11 Dec 2013 12:25:27 +0000 (13:25 +0100)
committerMartin Vitez <mvitez@cisco.com>
Wed, 11 Dec 2013 12:53:19 +0000 (13:53 +0100)
Signed-off-by: Martin Vitez <mvitez@cisco.com>
code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/BuilderTemplate.xtend

index 1cd018394ffe82b461392ea77965588a1d1908b3..fadd728ddbe9c97f7954ff910a3e2cbacdd19240 100644 (file)
@@ -593,10 +593,39 @@ class BuilderTemplate extends BaseTemplate {
         «ENDIF»\r
     '''\r
 \r
+    def override generateToString(Collection<GeneratedProperty> properties) '''\r
+        «IF !properties.empty»\r
+            @Override\r
+            public String toString() {\r
+                StringBuilder builder = new StringBuilder();\r
+                builder.append("«type.name» [«properties.get(0).fieldName»=");\r
+                «IF properties.get(0).returnType.name.contains("[")»\r
+                    builder.append(«Arrays.importedName».toString(«properties.get(0).fieldName»));\r
+                «ELSE»\r
+                    builder.append(«properties.get(0).fieldName»);\r
+                «ENDIF»\r
+                «FOR i : 1..<properties.size»\r
+                    builder.append(", «properties.get(i).fieldName»=");\r
+                    «IF properties.get(i).returnType.name.contains("[")»\r
+                        builder.append(«Arrays.importedName».toString(«properties.get(i).fieldName»));\r
+                    «ELSE»\r
+                        builder.append(«properties.get(i).fieldName»);\r
+                    «ENDIF»\r
+                «ENDFOR»\r
+                «IF augmentField != null»\r
+                    builder.append(", «augmentField.name»=");\r
+                    builder.append(«augmentField.name».values());\r
+                «ENDIF»\r
+                builder.append("]");\r
+                return builder.toString();\r
+            }\r
+        «ENDIF»\r
+    '''\r
+\r
     override protected getFullyQualifiedName() {\r
         '''«type.fullyQualifiedName»Builder'''.toString\r
     }\r
-    \r
+\r
     def implementedInterfaceGetter() '''\r
     public «Class.importedName»<«type.importedName»> getImplementedInterface() {\r
         return «type.importedName».class;\r