Use declared statements to resolve augments
[mdsal.git] / binding / mdsal-binding-generator / src / main / java / org / opendaylight / mdsal / binding / generator / impl / reactor / LeafGenerator.java
index c28dbf0f1ba78924dce7440fd4e87436f52e3200..6cdc66ea72f8eff534b0f3646c48ec5024c12d72 100644 (file)
@@ -7,13 +7,27 @@
  */
 package org.opendaylight.mdsal.binding.generator.impl.reactor;
 
+import org.opendaylight.mdsal.binding.generator.impl.rt.DefaultLeafRuntimeType;
+import org.opendaylight.mdsal.binding.model.api.Type;
+import org.opendaylight.mdsal.binding.runtime.api.LeafRuntimeType;
 import org.opendaylight.yangtools.yang.model.api.stmt.LeafEffectiveStatement;
 
 /**
  * Generator corresponding to a {@code leaf} statement.
  */
-final class LeafGenerator extends AbstractTypeAwareGenerator<LeafEffectiveStatement> {
-    LeafGenerator(final LeafEffectiveStatement statement, final AbstractCompositeGenerator<?> parent) {
+final class LeafGenerator extends AbstractTypeAwareGenerator<LeafEffectiveStatement, LeafRuntimeType, LeafGenerator> {
+    LeafGenerator(final LeafEffectiveStatement statement, final AbstractCompositeGenerator<?, ?> parent) {
         super(statement, parent);
     }
+
+    @Override
+    LeafRuntimeType createExternalRuntimeType(final Type type) {
+        return new DefaultLeafRuntimeType(type, statement());
+    }
+
+    @Override
+    LeafRuntimeType createInternalRuntimeType(final AugmentResolver resolver, final LeafEffectiveStatement statement,
+            final Type type) {
+        return new DefaultLeafRuntimeType(type, statement);
+    }
 }