Added support for annotations in generated APIs.
[controller.git] / opendaylight / sal / yang-prototype / code-generator / binding-java-api-generator / src / main / java / org / opendaylight / controller / sal / java / api / generator / ClassCodeGenerator.java
@@ -1,60 +1,66 @@
-/*\r
- * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- */\r
-package org.opendaylight.controller.sal.java.api.generator;\r
-\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
-import java.io.Writer;\r
-import java.util.List;\r
-\r
-import org.opendaylight.controller.sal.binding.model.api.CodeGenerator;\r
-import org.opendaylight.controller.sal.binding.model.api.GeneratedProperty;\r
-import org.opendaylight.controller.sal.binding.model.api.GeneratedTransferObject;\r
-import org.opendaylight.controller.sal.binding.model.api.Type;\r
-\r
-public class CompositeKeyGenerator implements CodeGenerator {\r
-\r
-    @Override\r
-    public Writer generate(Type type) throws IOException {\r
-        final Writer writer = new StringWriter();\r
-        if (type instanceof GeneratedTransferObject) {\r
-            GeneratedTransferObject genTO = (GeneratedTransferObject)type;\r
-            final List<GeneratedProperty> fields = genTO.getProperties();\r
-\r
-            writer.write(GeneratorUtil.createClassDeclarationWithPkgName(\r
-                    type.getPackageName(), type.getName(), ""));\r
-            writer.write(NL);\r
-            writer.write(NL);\r
-            \r
-            if (fields != null) {\r
-                for (GeneratedProperty field : fields) {\r
-                    writer.write(GeneratorUtil.createField(field, TAB) + NL);\r
-                }\r
-                writer.write(NL);\r
-                writer.write(GeneratorUtil.createConstructor(genTO, TAB) + NL);\r
-                writer.write(NL);\r
-                for (GeneratedProperty field : fields) {\r
-                    writer.write(GeneratorUtil.createGetter(field, TAB) + NL);\r
-                }\r
-                writer.write(NL);\r
-\r
-                writer.write(GeneratorUtil.createHashCode(genTO.getHashCodeIdentifiers(), TAB) + NL);\r
-                writer.write(GeneratorUtil.createEquals(genTO, genTO.getEqualsIdentifiers(), TAB) + NL);\r
-                writer.write(GeneratorUtil.createToString(genTO, genTO.getToStringIdentifiers(), TAB) + NL);\r
-\r
-                writer.write(RCB);\r
-            }\r
-        }\r
-        return writer;\r
-    }\r
-\r
-}\r
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
+package org.opendaylight.controller.sal.java.api.generator;
+
+import static org.opendaylight.controller.sal.java.api.generator.Constants.NL;
+import static org.opendaylight.controller.sal.java.api.generator.Constants.RCB;
+import static org.opendaylight.controller.sal.java.api.generator.Constants.TAB;
+
+import java.io.IOException;
+import java.io.StringWriter;
+import java.io.Writer;
+import java.util.List;
+
+import org.opendaylight.controller.sal.binding.model.api.CodeGenerator;
+import org.opendaylight.controller.sal.binding.model.api.GeneratedProperty;
+import org.opendaylight.controller.sal.binding.model.api.GeneratedTransferObject;
+import org.opendaylight.controller.sal.binding.model.api.Type;
+
+public class ClassCodeGenerator implements CodeGenerator {
+
+    @Override
+    public Writer generate(Type type) throws IOException {
+        final Writer writer = new StringWriter();
+        if (type instanceof GeneratedTransferObject) {
+            GeneratedTransferObject genTO = (GeneratedTransferObject) type;
+            final List<GeneratedProperty> fields = genTO.getProperties();
+
+            writer.write(GeneratorUtil.createClassDeclarationWithPkgName(genTO,
+                    ""));
+            writer.write(NL);
+            writer.write(NL);
+
+            if (fields != null) {
+                for (GeneratedProperty field : fields) {
+                    writer.write(GeneratorUtil.createField(field, TAB) + NL);
+                }
+                writer.write(NL);
+                writer.write(GeneratorUtil.createConstructor(genTO, TAB) + NL);
+                writer.write(NL);
+                for (GeneratedProperty field : fields) {
+                    writer.write(GeneratorUtil.createGetter(field, TAB) + NL);
+                }
+                writer.write(NL);
+
+                writer.write(GeneratorUtil.createHashCode(
+                        genTO.getHashCodeIdentifiers(), TAB)
+                        + NL);
+                writer.write(GeneratorUtil.createEquals(genTO,
+                        genTO.getEqualsIdentifiers(), TAB)
+                        + NL);
+                writer.write(GeneratorUtil.createToString(genTO,
+                        genTO.getToStringIdentifiers(), TAB)
+                        + NL);
+
+                writer.write(RCB);
+            }
+        }
+        return writer;
+    }
+
+}