Make BitsTypeDefinition.Bit only a DocumentedNode.WithStatus
[yangtools.git] / yang / yang-model-api / src / main / java / org / opendaylight / yangtools / yang / model / api / stmt / DataDefinitionStatement.java
index 8e70fefd5f9e6931ed680ccd38dd01c1418822f8..e66018d53dd97198ef808a1610acbad801b0d9de 100644 (file)
@@ -7,9 +7,10 @@
  */
 package org.opendaylight.yangtools.yang.model.api.stmt;
 
-import javax.annotation.Nonnull;
+import static com.google.common.base.Verify.verifyNotNull;
+
+import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
 
 /**
  * Statement that defines new data nodes.
@@ -20,8 +21,10 @@ import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
  * Defined in: <a href="https://tools.ietf.org/html/rfc6020#section-3">RFC6020, Section 3</a>
  */
 @Rfc6020AbnfRule("data-def-stmt")
-public interface DataDefinitionStatement extends DeclaredStatement<QName>, DocumentationGroup.WithStatus,
-       ConditionalDataDefinition {
-
-    @Nonnull QName getName();
+public interface DataDefinitionStatement extends DocumentedDeclaredStatement.WithStatus<QName>,
+        WhenStatementAwareDeclaredStatement<QName> {
+    default @NonNull QName getName() {
+        // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here
+        return verifyNotNull(argument());
+    }
 }