From 05aceaef3bd9cdf7317a8442587d04d5a6fa6e2d Mon Sep 17 00:00:00 2001 From: Tony Tkacik Date: Fri, 11 Oct 2013 14:43:51 +0200 Subject: [PATCH] Added supported for returning class object of implemented contract Change-Id: I4203c50cb5f58f86a3e789d1ed653cce4d7314ee Signed-off-by: Tony Tkacik --- .../sal/java/api/generator/BuilderTemplate.xtend | 8 ++++++++ .../opendaylight/yangtools/yang/binding/DataObject.java | 1 + 2 files changed, 9 insertions(+) diff --git a/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/BuilderTemplate.xtend b/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/BuilderTemplate.xtend index 6857ed2be9..68b36fe2cb 100644 --- a/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/BuilderTemplate.xtend +++ b/code-generator/binding-java-api-generator/src/main/java/org/opendaylight/yangtools/sal/java/api/generator/BuilderTemplate.xtend @@ -212,6 +212,8 @@ class BuilderTemplate extends BaseTemplate { } private static final class «type.name»«IMPL» implements «type.name» { + + «implementedInterfaceGetter» «generateFields(true)» @@ -387,5 +389,11 @@ class BuilderTemplate extends BaseTemplate { '''«type.fullyQualifiedName»Builder'''.toString } + def implementedInterfaceGetter() ''' + public «Class.importedName»<«type.importedName»> getImplementedInterface() { + return «type.importedName».class; + } + ''' + } diff --git a/yang/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/DataObject.java b/yang/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/DataObject.java index 599df0639b..98dcad05ee 100644 --- a/yang/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/DataObject.java +++ b/yang/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/DataObject.java @@ -16,4 +16,5 @@ package org.opendaylight.yangtools.yang.binding; */ public interface DataObject extends DataContainer { + public Class getImplementedInterface(); } -- 2.36.6