import org.opendaylight.yangtools.yang.model.api.stmt.IdentityEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.IdentityStatement;
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.IdentityNamespace;
+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;
@Beta
public final class IdentityStatementSupport
- extends BaseQNameStatementSupport<IdentityStatement, IdentityEffectiveStatement> {
+ extends AbstractQNameStatementSupport<IdentityStatement, IdentityEffectiveStatement> {
private static final @NonNull IdentityStatementSupport RFC6020_INSTANCE = new IdentityStatementSupport(
SubstatementValidator.builder(YangStmtMapping.IDENTITY)
.addOptional(YangStmtMapping.BASE)
@Override
protected IdentityStatement createDeclared(final StmtContext<QName, IdentityStatement, ?> ctx,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return new RegularIdentityStatement(ctx.getArgument(), substatements);
+ return DeclaredStatements.createIdentity(ctx.getArgument(), substatements);
}
@Override
protected IdentityStatement createEmptyDeclared(final StmtContext<QName, IdentityStatement, ?> ctx) {
- return new EmptyIdentityStatement(ctx.getArgument());
+ return DeclaredStatements.createIdentity(ctx.getArgument());
}
@Override
protected IdentityEffectiveStatement createEffective(final Current<QName, IdentityStatement> stmt,
final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
if (substatements.isEmpty()) {
- return new EmptyIdentityEffectiveStatement(stmt.declared(), stmt.wrapSchemaPath());
+ return new EmptyIdentityEffectiveStatement(stmt.declared(), stmt.effectivePath());
}
final List<IdentitySchemaNode> identities = new ArrayList<>();
}
}
- return new RegularIdentityEffectiveStatement(stmt.declared(), stmt.wrapSchemaPath(), new FlagsBuilder()
+ return new RegularIdentityEffectiveStatement(stmt.declared(), stmt.effectivePath(), new FlagsBuilder()
.setStatus(findFirstArgument(substatements, StatusEffectiveStatement.class, Status.CURRENT))
.toFlags(), substatements, ImmutableSet.copyOf(identities));
}