Clean up binding-model stuff a bit
[yangtools.git] / model / yang-model-api / src / main / java / org / opendaylight / yangtools / yang / model / api / stmt / ImportEffectiveStatement.java
index c5db16987a860f25f4bbe8548c6f987c0d8eab2b..4df44f965276b0b42c8f5d557bf96300af5dfa06 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.EffectiveStatement;
@@ -20,4 +22,16 @@ public interface ImportEffectiveStatement extends EffectiveStatement<Unqualified
     default StatementDefinition statementDefinition() {
         return YangStmtMapping.IMPORT;
     }
+
+    /**
+     * Return this statement's {@code prefix} substatement.
+     *
+     * @implSpec
+     *      Default implementation uses {@link #findFirstEffectiveSubstatement(Class)} and throws a
+     *      {@link VerifyException} if a matching substatement is not found.
+     * @return A {@link PrefixEffectiveStatement}
+     */
+    default @NonNull PrefixEffectiveStatement prefix() {
+        return DefaultMethodHelpers.verifyPrefixSubstatement(this);
+    }
 }