return verifySubstatement(stmt, PrefixEffectiveStatement.class);
}
- private static <T extends EffectiveStatement<?, ?>> @NonNull T verifySubstatement(
- final EffectiveStatement<?, ?> stmt, final Class<T> type) {
+ static <T extends EffectiveStatement<?, ?>> @NonNull T verifySubstatement(final EffectiveStatement<?, ?> stmt,
+ final Class<T> type) {
return stmt.findFirstEffectiveSubstatement(type).orElseThrow(
() -> new VerifyException(stmt + " does not define a " + type.getSimpleName() + " substatement"));
}
*/
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;
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);
+ }
}