X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-runtime-api%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fruntime%2Fapi%2FBindingRuntimeTypes.java;h=6837ef6655dd731b8f6ce0a91a465deea02331f2;hb=refs%2Fchanges%2F61%2F109361%2F4;hp=20a166688a7ae19022e00a44853ee26818cc30cc;hpb=0ee55d1f9da11dd03ff05fc67d10cbcbfe63fd2c;p=mdsal.git diff --git a/binding/mdsal-binding-runtime-api/src/main/java/org/opendaylight/mdsal/binding/runtime/api/BindingRuntimeTypes.java b/binding/mdsal-binding-runtime-api/src/main/java/org/opendaylight/mdsal/binding/runtime/api/BindingRuntimeTypes.java index 20a166688a..6837ef6655 100644 --- a/binding/mdsal-binding-runtime-api/src/main/java/org/opendaylight/mdsal/binding/runtime/api/BindingRuntimeTypes.java +++ b/binding/mdsal-binding-runtime-api/src/main/java/org/opendaylight/mdsal/binding/runtime/api/BindingRuntimeTypes.java @@ -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 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 findSchema(JavaTypeName typeName); @@ -33,11 +40,13 @@ public interface BindingRuntimeTypes extends EffectiveModelContextProvider, Runt Optional findRpcOutput(QName rpcName); + Optional findYangData(YangDataName templateName); + default @Nullable RuntimeType schemaTreeChild(final Absolute path) { final var it = path.getNodeIdentifiers().iterator(); var tmp = schemaTreeChild(it.next()); - while (it.hasNext() && tmp instanceof RuntimeTypeContainer) { - tmp = ((RuntimeTypeContainer) tmp).schemaTreeChild(it.next()); + while (it.hasNext() && tmp instanceof RuntimeTypeContainer container) { + tmp = container.schemaTreeChild(it.next()); } return tmp; }