Rework inlined union generation
[mdsal.git] / binding / mdsal-binding-java-api-generator / src / main / java / org / opendaylight / mdsal / binding / java / api / generator / BaseTemplate.xtend
index 403f5ebfefde246f64a92e18760d20cea5c360bd..d8d40a575a14faf2b04d807d8345ff941efadafb 100644 (file)
@@ -487,6 +487,17 @@ abstract class BaseTemplate extends JavaFileTemplate {
         return actualType.restrictions;
     }
 
+    def protected generateInnerClass(GeneratedType innerClass) '''
+        «IF innerClass instanceof GeneratedTransferObject»
+            «val innerJavaType = javaType.getEnclosedType(innerClass.identifier)»
+            «IF innerClass.unionType»
+                «new UnionTemplate(innerJavaType, innerClass).generateAsInnerClass»
+            «ELSE»
+                «new ClassTemplate(innerJavaType, innerClass).generateAsInnerClass»
+            «ENDIF»
+        «ENDIF»
+    '''
+
     def static Restrictions getRestrictions(Type type) {
         if (type instanceof ConcreteType) {
             return type.restrictions