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;
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)
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() {
@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);
}