Added generated convenience setters that take Builder<T> 93/14093/6
authorEd Warnicke <eaw@cisco.com>
Mon, 12 Jan 2015 01:14:53 +0000 (19:14 -0600)
committerRobert Varga <nite@hq.sk>
Fri, 16 Jan 2015 18:16:58 +0000 (18:16 +0000)
Basically, if we previously had

FooBuilder.setBar(Bar value)

we now also have

FooBuilder.setBar(Builder<Bar> value)

That just calls value.build() and calls the original setter.

Change-Id: I99e19f7a8a51af5c4a48ecb8813c6e6202546857
Signed-off-by: Ed Warnicke <eaw@cisco.com>
code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/BuilderTemplate.xtend

index f632d86fb809414303485191463be7e08c932be2..edfe69a56fb71dccb291cc1bc9ce69e45f4671f3 100644 (file)
@@ -448,6 +448,9 @@ class BuilderTemplate extends BaseTemplate {
                 this.«field.fieldName» = value;
                 return this;
             }
+            public «type.name»«BUILDER» set«field.name.toFirstUpper»(Builder<«field.returnType.importedName»> value) {
+                return set«field.name.toFirstUpper»(value.build());
+            }
             «generateLengthMethod(length, field.returnType, type.name+BUILDER, length)»
             «generateRangeMethod(range, field.returnType.restrictions, field.returnType, type.name+BUILDER, range)»
         «ENDFOR»