X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fstmt%2Frfc6020%2FBitsSpecificationImpl.java;h=cf4dd23fbf69803c60cdb31f4ae38675d94986b3;hb=refs%2Fchanges%2F55%2F52055%2F10;hp=53215e76f72df5de239caf31ff6189b8d7ae3f26;hpb=481a692d463636bbcf75f023da71703913e1b605;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitsSpecificationImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitsSpecificationImpl.java index 53215e76f7..cf4dd23fbf 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitsSpecificationImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/BitsSpecificationImpl.java @@ -1,4 +1,4 @@ -/** +/* * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. * * This program and the accompanying materials are made available under the @@ -8,21 +8,24 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; import java.util.Collection; +import javax.annotation.Nonnull; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.BitStatement; - -import org.opendaylight.yangtools.yang.parser.spi.source.SourceException; -import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; +import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement; +import org.opendaylight.yangtools.yang.parser.spi.SubstatementValidator; import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractDeclaredStatement; +import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping; -import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement; +import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type.BitsSpecificationEffectiveStatementImpl; -public class BitsSpecificationImpl extends AbstractDeclaredStatement - implements TypeStatement.BitsSpecification { +public class BitsSpecificationImpl extends AbstractDeclaredStatement implements TypeStatement.BitsSpecification { + private static final SubstatementValidator SUBSTATEMENT_VALIDATOR = SubstatementValidator.builder(YangStmtMapping + .TYPE) + .addMultiple(YangStmtMapping.BIT) + .build(); - protected BitsSpecificationImpl( - StmtContext context) { + protected BitsSpecificationImpl(final StmtContext context) { super(context); } @@ -31,36 +34,42 @@ public class BitsSpecificationImpl extends AbstractDeclaredStatement AbstractStatementSupport> { public Definition() { - super(Rfc6020Mapping.TYPE); + super(YangStmtMapping.TYPE); } @Override - public String parseArgumentValue(StmtContext ctx, String value) - throws SourceException { + public String parseArgumentValue(final StmtContext ctx, final String value) { return value; } @Override public TypeStatement.BitsSpecification createDeclared( - StmtContext ctx) { + final StmtContext ctx) { return new BitsSpecificationImpl(ctx); } @Override public EffectiveStatement createEffective( - StmtContext> ctx) { - throw new UnsupportedOperationException(); + final StmtContext> ctx) { + return new BitsSpecificationEffectiveStatementImpl(ctx); + } + + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; } } + @Nonnull @Override public String getName() { return argument(); } + @Nonnull @Override public Collection getBits() { return allDeclared(BitStatement.class); } -} \ No newline at end of file +}