Update the API generation code and code generation sample
[controller.git] / opendaylight / sal / yang-prototype / code-generator / binding-java-api-generator / src / main / java / org / opendaylight / controller / sal / java / api / generator / InterfaceGenerator.java
index 8a0054bd8afd1f244d970d1c7643fcf4cb748dab..a947866e2204c89d3eb483a11ad9033f36137397 100644 (file)
@@ -7,7 +7,9 @@
  */\r
 package org.opendaylight.controller.sal.java.api.generator;\r
 \r
-import static org.opendaylight.controller.sal.java.api.generator.Constants.*;\r
+import static org.opendaylight.controller.sal.java.api.generator.Constants.NL;\r
+import static org.opendaylight.controller.sal.java.api.generator.Constants.RCB;\r
+import static org.opendaylight.controller.sal.java.api.generator.Constants.TAB;\r
 \r
 import java.io.IOException;\r
 import java.io.StringWriter;\r
@@ -19,42 +21,46 @@ import org.opendaylight.controller.sal.binding.model.api.Constant;
 import org.opendaylight.controller.sal.binding.model.api.Enumeration;\r
 import org.opendaylight.controller.sal.binding.model.api.GeneratedType;\r
 import org.opendaylight.controller.sal.binding.model.api.MethodSignature;\r
+import org.opendaylight.controller.sal.binding.model.api.Type;\r
 \r
 public class InterfaceGenerator implements CodeGenerator {\r
 \r
-    public Writer generate(GeneratedType type) throws IOException {\r
+    public Writer generate(Type type) throws IOException {\r
         Writer writer = new StringWriter();\r
-        final List<Constant> constants = type.getConstantDefinitions();\r
-        final List<MethodSignature> methods = type.getMethodDefinitions();\r
-        final List<Enumeration> enums = type.getEnumDefintions();\r
+        if (type instanceof GeneratedType) {\r
+            GeneratedType genType = (GeneratedType) type;\r
+            \r
+            final List<Constant> constants = genType.getConstantDefinitions();\r
+            final List<MethodSignature> methods = genType.getMethodDefinitions();\r
+            final List<Enumeration> enums = genType.getEnumDefintions();\r
 \r
-        writer.write(GeneratorUtil.createIfcDeclarationWithPkgName(\r
-                type.getPackageName(), type.getName(), ""));\r
-        writer.write(NL);\r
-\r
-        if (constants != null) {\r
-            for (Constant c : constants) {\r
-                writer.write(GeneratorUtil.createConstant(c, TAB) + NL);\r
-            }\r
+            writer.write(GeneratorUtil.createIfcDeclarationWithPkgName(\r
+                    type.getPackageName(), type.getName(), ""));\r
             writer.write(NL);\r
-        }\r
 \r
-        if (methods != null) {\r
-            for (MethodSignature m : methods) {\r
-                writer.write(GeneratorUtil.createMethodDeclaration(m, TAB) + NL);\r
+            if (constants != null) {\r
+                for (Constant c : constants) {\r
+                    writer.write(GeneratorUtil.createConstant(c, TAB) + NL);\r
+                }\r
+                writer.write(NL);\r
             }\r
-            writer.write(NL);\r
-        }\r
 \r
-        if (enums != null) {\r
-            for (Enumeration e : enums) {\r
-                writer.write(GeneratorUtil.createEnum(e, TAB) + NL);\r
+            if (methods != null) {\r
+                for (MethodSignature m : methods) {\r
+                    writer.write(GeneratorUtil.createMethodDeclaration(m, TAB) + NL);\r
+                }\r
+                writer.write(NL);\r
             }\r
-            writer.write(NL);\r
-        }\r
 \r
-        writer.write(RCB);\r
+            if (enums != null) {\r
+                for (Enumeration e : enums) {\r
+                    writer.write(GeneratorUtil.createEnum(e, TAB) + NL);\r
+                }\r
+                writer.write(NL);\r
+            }\r
 \r
+            writer.write(RCB);\r
+        }\r
         return writer;\r
     }\r
 \r