Added supported for returning class object of implemented contract 31/1831/1
authorTony Tkacik <ttkacik@cisco.com>
Fri, 11 Oct 2013 12:43:51 +0000 (14:43 +0200)
committerTony Tkacik <ttkacik@cisco.com>
Fri, 11 Oct 2013 12:43:51 +0000 (14:43 +0200)
Change-Id: I4203c50cb5f58f86a3e789d1ed653cce4d7314ee
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/BuilderTemplate.xtend
yang/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/DataObject.java

index 6857ed2be940f5e8ece8b0a0c9ccad73f4e3e53d..68b36fe2cb12abd71a382e2ecda704b8141aa6be 100644 (file)
@@ -212,6 +212,8 @@ class BuilderTemplate extends BaseTemplate {
             }\r
 \r
             private static final class «type.name»«IMPL» implements «type.name» {\r
+                \r
+                «implementedInterfaceGetter»\r
 \r
                 «generateFields(true)»\r
 \r
@@ -387,5 +389,11 @@ class BuilderTemplate extends BaseTemplate {
         '''«type.fullyQualifiedName»Builder'''.toString\r
     }\r
     \r
+    def implementedInterfaceGetter() '''\r
+    public «Class.importedName»<«type.importedName»> getImplementedInterface() {\r
+        return «type.importedName».class;\r
+    }\r
+    '''\r
+    \r
 }\r
 \r
index 599df0639b9314ec048c2ae06e2fea3f7e3ed59c..98dcad05ee51e617e9bc56df3188ea30fc26b6b2 100644 (file)
@@ -16,4 +16,5 @@ package org.opendaylight.yangtools.yang.binding;
  */\r
 public interface DataObject extends DataContainer {\r
 \r
+    public Class<? extends DataObject> getImplementedInterface();\r
 }\r