Split out yang-model-ri
[yangtools.git] / yang / yang-parser-rfc7950 / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / stmt / feature / FeatureStatementSupport.java
index 5a822af897b6881230f0e324e27592a805a4bbf5..925ac0149951e10fd05ee7c739f62943b3310cdc 100644 (file)
@@ -17,9 +17,10 @@ import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.FeatureEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.FeatureStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement;
-import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseQNameStatementSupport;
+import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements;
 import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder;
 import org.opendaylight.yangtools.yang.parser.spi.FeatureNamespace;
+import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractQNameStatementSupport;
 import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable;
@@ -27,7 +28,7 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
 
 public final class FeatureStatementSupport
-        extends BaseQNameStatementSupport<FeatureStatement, FeatureEffectiveStatement> {
+        extends AbstractQNameStatementSupport<FeatureStatement, FeatureEffectiveStatement> {
     private static final SubstatementValidator SUBSTATEMENT_VALIDATOR = SubstatementValidator.builder(
         YangStmtMapping.FEATURE)
         .addOptional(YangStmtMapping.DESCRIPTION)
@@ -39,7 +40,7 @@ public final class FeatureStatementSupport
     private static final int EMPTY_EFFECTIVE_FLAGS = new FlagsBuilder().setStatus(Status.CURRENT).toFlags();
 
     private FeatureStatementSupport() {
-        super(YangStmtMapping.FEATURE, CopyPolicy.REJECT);
+        super(YangStmtMapping.FEATURE, StatementPolicy.reject());
     }
 
     public static FeatureStatementSupport getInstance() {
@@ -65,20 +66,20 @@ public final class FeatureStatementSupport
     @Override
     protected FeatureStatement createDeclared(final StmtContext<QName, FeatureStatement, ?> ctx,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        return new RegularFeatureStatement(ctx.getArgument(), substatements);
+        return DeclaredStatements.createFeature(ctx.getArgument(), substatements);
     }
 
     @Override
     protected FeatureStatement createEmptyDeclared(@NonNull final StmtContext<QName, FeatureStatement, ?> ctx) {
-        return new EmptyFeatureStatement(ctx.getArgument());
+        return DeclaredStatements.createFeature(ctx.getArgument());
     }
 
     @Override
     protected FeatureEffectiveStatement createEffective(final Current<QName, FeatureStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
         return substatements.isEmpty()
-            ? new EmptyFeatureEffectiveStatement(stmt.declared(), stmt.wrapSchemaPath(), EMPTY_EFFECTIVE_FLAGS)
-                : new RegularFeatureEffectiveStatement(stmt.declared(), stmt.wrapSchemaPath(),
+            ? new EmptyFeatureEffectiveStatement(stmt.declared(), stmt.effectivePath(), EMPTY_EFFECTIVE_FLAGS)
+                : new RegularFeatureEffectiveStatement(stmt.declared(), stmt.effectivePath(),
                     computeFlags(substatements), substatements);
     }