Change BindingRuntimeTypes.findIdentity()
[mdsal.git] / binding / mdsal-binding-runtime-api / src / main / java / org / opendaylight / mdsal / binding / runtime / api / BindingRuntimeTypes.java
index 756ed5344f51f998213db8b4b17e662c63539182..6837ef6655dd731b8f6ce0a91a465deea02331f2 100644 (file)
@@ -16,6 +16,7 @@ import org.opendaylight.mdsal.binding.model.api.GeneratedType;
 import org.opendaylight.mdsal.binding.model.api.JavaTypeName;
 import org.opendaylight.yangtools.concepts.Immutable;
 import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.common.YangDataName;
 import org.opendaylight.yangtools.yang.model.api.EffectiveModelContextProvider;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
 
@@ -24,8 +25,14 @@ import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absol
  */
 @Beta
 public interface BindingRuntimeTypes extends EffectiveModelContextProvider, RuntimeTypeContainer, Immutable {
-
-    Optional<IdentityRuntimeType> findIdentity(QName qname);
+    /**
+     * Lookup {@link IdentityRuntimeType} by its QNamme.
+     *
+     * @param qname Identity name
+     * @return {@link IdentityRuntimeType} or {@code null}
+     * @throws NullPointerException if {@code qname} is {@code null}
+     */
+    @Nullable IdentityRuntimeType identityChild(@NonNull QName qname);
 
     Optional<RuntimeType> findSchema(JavaTypeName typeName);
 
@@ -33,6 +40,8 @@ public interface BindingRuntimeTypes extends EffectiveModelContextProvider, Runt
 
     Optional<OutputRuntimeType> findRpcOutput(QName rpcName);
 
+    Optional<YangDataRuntimeType> findYangData(YangDataName templateName);
+
     default @Nullable RuntimeType schemaTreeChild(final Absolute path) {
         final var it = path.getNodeIdentifiers().iterator();
         var tmp = schemaTreeChild(it.next());