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 09d7e93deb97d825a52dc53874d98396c7480311..e66018d53dd97198ef808a1610acbad801b0d9de 100644 (file)
@@ -7,20 +7,24 @@
  */
 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.
- *
  * One of container, leaf, leaf-list, list, choice, case,
- * augment, uses, and anyxml.
+ * augment, uses, anyxml and anydata.
  *
+ * <p>
  * 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());
+    }
 }