Do not store code snippets in BindingRuntimeContext
[mdsal.git] / binding / mdsal-binding-java-api-generator / src / main / java / org / opendaylight / yangtools / sal / java / api / generator / BaseTemplate.xtend
index 161857f7dfb55b4b3c598ddea62802de8c57d5cf..d3c2908c81224aaf072c16122e4965b93dd8d1d6 100644 (file)
@@ -24,6 +24,8 @@ import org.opendaylight.yangtools.sal.binding.model.api.GeneratedType
 import org.opendaylight.yangtools.sal.binding.model.api.MethodSignature
 import org.opendaylight.yangtools.sal.binding.model.api.Restrictions
 import org.opendaylight.yangtools.sal.binding.model.api.Type
+import org.opendaylight.yangtools.sal.binding.model.api.Constant
+import org.opendaylight.yangtools.yang.common.QName
 
 abstract class BaseTemplate {
     protected val GeneratedType type;
@@ -386,4 +388,13 @@ abstract class BaseTemplate {
         return null
     }
 
+    def protected emitConstant(Constant c) '''
+        «IF c.value instanceof QName»
+            «val qname = c.value as QName»
+            public static final «c.type.importedName» «c.name» = «QName.name».cachedReference(
+                «QName.name».create("«qname.namespace.toString»", "«qname.formattedRevision»", "«qname.localName»"));
+        «ELSE»
+            public static final «c.type.importedName» «c.name» = «c.value»;
+        «ENDIF»
+    '''
 }