Add SubmoduleEffectiveStatement.belongsTo()
[yangtools.git] / model / yang-model-api / src / main / java / org / opendaylight / yangtools / yang / model / api / stmt / SubmoduleEffectiveStatement.java
index f0c549f8efda8c4e8d1ade780cdd92497ee193b2..4c5c3e5bb312fa2388208eca4a876093689827de 100644 (file)
@@ -7,6 +7,8 @@
  */
 package org.opendaylight.yangtools.yang.model.api.stmt;
 
+import com.google.common.base.VerifyException;
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified;
 import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
 import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
@@ -22,4 +24,16 @@ public non-sealed interface SubmoduleEffectiveStatement
     default StatementDefinition statementDefinition() {
         return YangStmtMapping.SUBMODULE;
     }
+
+    /**
+     * Return this statement's {@code belongs-to} substatement.
+     *
+     * @implSpec
+     *      Default implementation uses {@link #findFirstEffectiveSubstatement(Class)} and throws a
+     *      {@link VerifyException} if a matching substatement is not found.
+     * @return A {@link BelongsToEffectiveStatement}
+     */
+    default @NonNull BelongsToEffectiveStatement belongsTo() {
+        return DefaultMethodHelpers.verifySubstatement(this, BelongsToEffectiveStatement.class);
+    }
 }