Merge "OF plugin classes must have a strict dependency on Connection Service"
[controller.git] / opendaylight / sal / yang-prototype / code-generator / binding-java-api-generator / src / main / java / org / opendaylight / controller / sal / java / api / generator / EnumTemplate.xtend
1 package org.opendaylight.controller.sal.java.api.generator
2
3 import org.opendaylight.controller.sal.binding.model.api.Enumeration
4
5 class EnumTemplate {
6     
7     val Enumeration enums
8     
9     new(Enumeration enums) {
10         this.enums = enums
11     }
12     
13     def generate() {
14         val body = generateBody
15         val pkg = generatePkg
16         return pkg.toString + body.toString
17     }
18     
19     def generateAsInnerClass() {
20         return generateBody
21     }
22     
23     def private generateBody() '''
24         public enum «enums.name» {
25         «FOR v : enums.values SEPARATOR ",\n"»
26             «"    "»«v.name»(«v.value»)«
27         ENDFOR»;
28         
29             int value;
30         
31             private «enums.name»(int value) {
32                 this.value = value;
33             }
34         }
35     '''
36     
37     def private generatePkg() '''
38         package «enums.packageName»;
39         
40         
41     '''
42     
43 }