X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-java-api-generator%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fjava%2Fapi%2Fgenerator%2FBuilderTemplate.xtend;h=4e16bdba05153a9cb8ade207b3613d027c364f08;hb=03403f7c7422a1ab8be0e5fc256e4850463c4b18;hp=eb2d2f973801c5e05fdf94425394897fe28b5543;hpb=199837d78b70aceb0b5a91934467d801d08bb5e3;p=mdsal.git diff --git a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend index eb2d2f9738..4e16bdba05 100644 --- a/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend +++ b/binding/mdsal-binding-java-api-generator/src/main/java/org/opendaylight/mdsal/binding/java/api/generator/BuilderTemplate.xtend @@ -273,6 +273,16 @@ class BuilderTemplate extends AbstractBuilderTemplate { «ENDFOR» ''' + def private generateSetter(GeneratedProperty field) { + val returnType = field.returnType + if (returnType instanceof ParameterizedType) { + if (Types.isListType(returnType)) { + return generateListSetter(field, returnType.actualTypeArguments.get(0)) + } + } + return generateSimpleSetter(field, returnType) + } + def private generateListSetter(GeneratedProperty field, Type actualType) ''' «val restrictions = restrictionsForSetter(actualType)» «IF restrictions !== null» @@ -292,7 +302,7 @@ class BuilderTemplate extends AbstractBuilderTemplate { ''' - def private generateSetter(GeneratedProperty field, Type actualType) ''' + def private generateSimpleSetter(GeneratedProperty field, Type actualType) ''' «val restrictions = restrictionsForSetter(actualType)» «IF restrictions !== null» «generateCheckers(field, restrictions, actualType)» @@ -309,10 +319,6 @@ class BuilderTemplate extends AbstractBuilderTemplate { } ''' - private def Type getActualType(ParameterizedType ptype) { - return ptype.getActualTypeArguments.get(0) - } - /** * Template method which generates setter methods * @@ -326,11 +332,7 @@ class BuilderTemplate extends AbstractBuilderTemplate { } «ENDIF» «FOR property : properties» - «IF property.returnType instanceof ParameterizedType && Types.isListType(property.returnType)» - «generateListSetter(property, getActualType(property.returnType as ParameterizedType))» - «ELSE» - «generateSetter(property, property.returnType)» - «ENDIF» + «generateSetter(property)» «ENDFOR» «IF augmentType !== null»