import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
import org.opendaylight.yangtools.yang.model.api.Status;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
import org.opendaylight.yangtools.yang.model.api.Status;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.BaseEffectiveStatement;
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.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.BaseEffectiveStatement;
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.model.ri.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements;
import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.EffectiveStatementWithFlags.FlagsBuilder;
import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements;
import org.opendaylight.yangtools.yang.model.spi.meta.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.IdentityNamespace;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractQNameStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
@Beta
public final class IdentityStatementSupport
extends AbstractQNameStatementSupport<IdentityStatement, IdentityEffectiveStatement> {
@Beta
public final class IdentityStatementSupport
extends AbstractQNameStatementSupport<IdentityStatement, IdentityEffectiveStatement> {
SubstatementValidator.builder(YangStmtMapping.IDENTITY)
.addOptional(YangStmtMapping.BASE)
.addOptional(YangStmtMapping.DESCRIPTION)
.addOptional(YangStmtMapping.REFERENCE)
.addOptional(YangStmtMapping.STATUS)
SubstatementValidator.builder(YangStmtMapping.IDENTITY)
.addOptional(YangStmtMapping.BASE)
.addOptional(YangStmtMapping.DESCRIPTION)
.addOptional(YangStmtMapping.REFERENCE)
.addOptional(YangStmtMapping.STATUS)
SubstatementValidator.builder(YangStmtMapping.IDENTITY)
.addAny(YangStmtMapping.BASE)
.addOptional(YangStmtMapping.DESCRIPTION)
.addAny(YangStmtMapping.IF_FEATURE)
.addOptional(YangStmtMapping.REFERENCE)
.addOptional(YangStmtMapping.STATUS)
SubstatementValidator.builder(YangStmtMapping.IDENTITY)
.addAny(YangStmtMapping.BASE)
.addOptional(YangStmtMapping.DESCRIPTION)
.addAny(YangStmtMapping.IF_FEATURE)
.addOptional(YangStmtMapping.REFERENCE)
.addOptional(YangStmtMapping.STATUS)
- private IdentityStatementSupport(final SubstatementValidator validator) {
- super(YangStmtMapping.IDENTITY, StatementPolicy.reject());
+ private IdentityStatementSupport(final YangParserConfiguration config, final SubstatementValidator validator) {
+ super(YangStmtMapping.IDENTITY, StatementPolicy.reject(), config);
- public static @NonNull IdentityStatementSupport rfc6020Instance() {
- return RFC6020_INSTANCE;
+ public static @NonNull IdentityStatementSupport rfc6020Instance(final YangParserConfiguration config) {
+ return new IdentityStatementSupport(config, RFC6020_VALIDATOR);
- public static @NonNull IdentityStatementSupport rfc7950Instance() {
- return RFC7950_INSTANCE;
+ public static @NonNull IdentityStatementSupport rfc7950Instance(final YangParserConfiguration config) {
+ return new IdentityStatementSupport(config, RFC7950_VALIDATOR);
@Override
protected IdentityEffectiveStatement createEffective(final Current<QName, IdentityStatement> stmt,
final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
@Override
protected IdentityEffectiveStatement createEffective(final Current<QName, IdentityStatement> stmt,
final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {