-package org.opendaylight.yangtools.sal.java.api.generator
-
-import org.opendaylight.yangtools.sal.binding.model.api.Enumeration
-/**
- * Template for generating JAVA enumeration type.
- */
-class EnumTemplate {
-
- /**
- * Enumeration which will be transformed to JAVA source code for enumeration
- */
- val Enumeration enums
-
- /**
- * Constructs instance of this class with concrete <code>enums</code>.
- *
- * @param enumeration which will be transformed to JAVA source code
- */
- new(Enumeration enums) {
- this.enums = enums
- }
-
- /**
- * Generates JAVA source code for the enumeration with the package name.
- *
- * @return JAVA source code for enumeration and for the package name
- */
- def String generate() {
- val body = generateBody
- val pkg = generatePkg
- return pkg.toString + body.toString
- }
-
- /**
- * Generates only JAVA enumeration source code.
- *
- * @return string with JAVA enumeration source code
- */
- def generateAsInnerClass() {
- return generateBody
- }
-
- /**
- * Template method which generates enumeration body (declaration + enumeration items).
- *
- * @return string with the enumeration body
- */
- def private generateBody() '''
- public enum «enums.name» {
- «FOR v : enums.values SEPARATOR ",\n"»
- «" "»«v.name»(«v.value»)«
- ENDFOR»;
-
- int value;
-
- private «enums.name»(int value) {
- this.value = value;
- }
- }
- '''
-
- /**
- * Template method which generates the package name line.
- *
- * @return string with the package name line
- */
- def private generatePkg() '''
- package «enums.packageName»;
-
-
- '''
-
+package org.opendaylight.yangtools.sal.java.api.generator\r
+\r
+import org.opendaylight.yangtools.sal.binding.model.api.Enumeration\r
+import org.opendaylight.yangtools.sal.binding.model.api.GeneratedType\r
+/**\r
+ * Template for generating JAVA enumeration type. \r
+ */\r
+class EnumTemplate extends BaseTemplate {\r
+\r
+ \r
+ /**\r
+ * Enumeration which will be transformed to JAVA source code for enumeration\r
+ */\r
+ val Enumeration enums\r
+ \r
+ /**\r
+ * Constructs instance of this class with concrete <code>enums</code>.\r
+ * \r
+ * @param enumeration which will be transformed to JAVA source code \r
+ */\r
+ new(Enumeration enums) {\r
+ super(enums as GeneratedType )\r
+ this.enums = enums\r
+ }\r
+ \r
+ \r
+ /**\r
+ * Generates only JAVA enumeration source code.\r
+ * \r
+ * @return string with JAVA enumeration source code\r
+ */\r
+ def generateAsInnerClass() {\r
+ return body\r
+ }\r
+ \r
+ /**\r
+ * Template method which generates enumeration body (declaration + enumeration items).\r
+ * \r
+ * @return string with the enumeration body \r
+ */\r
+ override body() '''\r
+ public enum «enums.name» {\r
+ «FOR v : enums.values SEPARATOR ",\n"»\r
+ «" "»«v.name»(«v.value»)«\r
+ ENDFOR»;\r
+ \r
+ int value;\r
+ \r
+ private «enums.name»(int value) {\r
+ this.value = value;\r
+ }\r
+ }\r
+ '''\r
}
\ No newline at end of file