1 package org.opendaylight.yangtools.sal.java.api.generator
\r
3 import org.opendaylight.yangtools.sal.binding.model.api.Enumeration
\r
4 import org.opendaylight.yangtools.sal.binding.model.api.GeneratedType
\r
7 * Template for generating JAVA enumeration type.
\r
9 class EnumTemplate extends BaseTemplate {
\r
13 * Enumeration which will be transformed to JAVA source code for enumeration
\r
15 val Enumeration enums
\r
18 * Constructs instance of this class with concrete <code>enums</code>.
\r
20 * @param enums enumeration which will be transformed to JAVA source code
\r
22 new(Enumeration enums) {
\r
23 super(enums as GeneratedType )
\r
29 * Generates only JAVA enumeration source code.
\r
31 * @return string with JAVA enumeration source code
\r
33 def generateAsInnerClass() {
\r
38 * Template method which generates enumeration body (declaration + enumeration items).
\r
40 * @return string with the enumeration body
\r
43 public enum «enums.name» {
\r
44 «FOR v : enums.values SEPARATOR ",\n"»
\r
45 «" "»«v.name»(«v.value»)«
\r
49 static java.util.Map<java.lang.Integer, «enums.name»> valueMap;
\r
52 valueMap = new java.util.HashMap<>();
\r
53 for («enums.name» enumItem : «enums.name».values())
\r
55 valueMap.put(enumItem.value, enumItem);
\r
59 private «enums.name»(int value) {
\r
64 * @return integer value
\r
66 public int getIntValue() {
\r
72 * @return corresponding «enums.name» item
\r
74 public static «enums.name» forValue(int valueArg) {
\r
75 return valueMap.get(valueArg);
\r