Bug 6869: [YANG 1.1] Allow if-feature in bit, enum, identity and refine statements
[yangtools.git] / yang / yang-model-api / src / main / java / org / opendaylight / yangtools / yang / model / api / stmt / ConditionalFeature.java
index 0c85dc8fb66d77938420b395f79bf7b2567e026a..3f47371e856a2a7ac11a93b64899f68706b4990d 100644 (file)
@@ -7,11 +7,23 @@
  */
 package org.opendaylight.yangtools.yang.model.api.stmt;
 
+import com.google.common.collect.ImmutableList;
 import java.util.Collection;
 import javax.annotation.Nonnull;
 
 @Rfc6020AbnfRule("*(if-feature-stmt)")
 public interface ConditionalFeature {
 
-    @Nonnull Collection<? extends IfFeatureStatement> getIfFeatures();
+    /**
+     * All implementations should override this method.
+     * The default definition of this method is used only in YANG 1.0 (RFC6020) implementations of
+     * BitStatement, EnumStatement, IdentityStatement and RefineStatement which do not allow if-feature statements.
+     * These YANG statements have been changed in YANG 1.1 (RFC7950) and can now contain if-feature statements.
+     *
+     * @return collection of if-feature statements
+     */
+     // FIXME: version 2.0.0: make this method non-default
+    @Nonnull default Collection<? extends IfFeatureStatement> getIfFeatures() {
+        return ImmutableList.of();
+    }
 }