Add BindingRuntimeTypes.findYangData()
[mdsal.git] / binding / mdsal-binding-generator / src / main / java / org / opendaylight / mdsal / binding / generator / impl / rt / DefaultBindingRuntimeTypes.java
index 9222de82662bb49b7876b2ed0c98a510ff7da4f1..22709fac7aaab4b109d428f414bb230047632ef7 100644 (file)
@@ -29,8 +29,10 @@ import org.opendaylight.mdsal.binding.runtime.api.InputRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.ModuleRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.OutputRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.RuntimeType;
+import org.opendaylight.mdsal.binding.runtime.api.YangDataRuntimeType;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
+import org.opendaylight.yangtools.yang.common.YangDataName;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContext;
 
 /**
@@ -101,6 +103,12 @@ public final class DefaultBindingRuntimeTypes implements BindingRuntimeTypes {
         return Optional.ofNullable(rpcOutputs.get(requireNonNull(rpcName)));
     }
 
+    @Override
+    public Optional<YangDataRuntimeType> findYangData(final YangDataName templateName) {
+        final var module = modulesByNamespace.get(templateName.module());
+        return module == null ? Optional.empty() : Optional.ofNullable(module.yangDataChild(templateName));
+    }
+
     @Override
     public Set<CaseRuntimeType> allCaseChildren(final ChoiceRuntimeType choiceType) {
         return choiceToCases.get(choiceType.getIdentifier());