Bug 6867: Extend yang statement parser to support different yang versions
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / spi / meta / StmtContext.java
index 62b48676e5afe20562952c1a1940ecf871e58fc8..e9828717c40752d3d863c4ed936624ff61c290ac 100644 (file)
@@ -13,6 +13,7 @@ import java.util.Map;
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 import org.opendaylight.yangtools.yang.common.QNameModule;
+import org.opendaylight.yangtools.yang.common.YangVersion;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
@@ -130,6 +131,13 @@ public interface StmtContext<A, D extends DeclaredStatement<A>, E extends Effect
 
     ModelProcessingPhase getCompletedPhase();
 
+    /**
+     * Return version of root statement context.
+     *
+     * @return version of root statement context
+     */
+    @Nonnull YangVersion getRootVersion();
+
     interface Mutable<A, D extends DeclaredStatement<A>, E extends EffectiveStatement<A, D>>
             extends StmtContext<A, D, E> {
 
@@ -150,6 +158,14 @@ public interface StmtContext<A, D extends DeclaredStatement<A>, E extends Effect
                 Class<N> namespace, KT key, StmtContext<?, ?, ?> stmt);
 
         void setSupportedByFeatures(boolean isSupported);
+
+        /**
+         * Set version of root statement context.
+         *
+         * @param version
+         *            of root statement context
+         */
+        void setRootVersion(YangVersion version);
     }
 
 }