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%2FArgumentStatementImpl.java;h=0eca7b96b46b770684802eea22971226deda41d4;hb=cde047f709ab56c39012678faba8b56da458d05b;hp=8930d9c941a00860decd0910e928a80316c25eb0;hpb=4078c52f76ce904726f0e127eba1a96c7bae357d;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ArgumentStatementImpl.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ArgumentStatementImpl.java index 8930d9c941..0eca7b96b4 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ArgumentStatementImpl.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/ArgumentStatementImpl.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 @@ -7,22 +7,27 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020; -import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.ArgumentEffectiveStatementImpl; - -import org.opendaylight.yangtools.yang.model.api.stmt.YinElementStatement; +import javax.annotation.Nonnull; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.model.api.Rfc6020Mapping; +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.ArgumentStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.YinElementStatement; +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.parser.stmt.rfc6020.effective.ArgumentEffectiveStatementImpl; public class ArgumentStatementImpl extends AbstractDeclaredStatement implements ArgumentStatement { + private static final SubstatementValidator SUBSTATEMENT_VALIDATOR = SubstatementValidator.builder(YangStmtMapping + .ARGUMENT) + .addOptional(YangStmtMapping.YIN_ELEMENT) + .build(); protected ArgumentStatementImpl( - StmtContext context) { + final StmtContext context) { super(context); } @@ -31,28 +36,33 @@ public class ArgumentStatementImpl extends AbstractDeclaredStatement AbstractStatementSupport> { public Definition() { - super(Rfc6020Mapping.ARGUMENT); + super(YangStmtMapping.ARGUMENT); } @Override - public QName parseArgumentValue(StmtContext ctx, String value) { + public QName parseArgumentValue(final StmtContext ctx, final String value) { return Utils.qNameFromArgument(ctx, value); } @Override public ArgumentStatement createDeclared( - StmtContext ctx) { + final StmtContext ctx) { return new ArgumentStatementImpl(ctx); } @Override public EffectiveStatement createEffective( - StmtContext> ctx) { + final StmtContext> ctx) { return new ArgumentEffectiveStatementImpl(ctx); } + @Override + protected SubstatementValidator getSubstatementValidator() { + return SUBSTATEMENT_VALIDATOR; + } } + @Nonnull @Override public QName getName() { return argument(); @@ -63,4 +73,4 @@ public class ArgumentStatementImpl extends AbstractDeclaredStatement return firstDeclared(YinElementStatement.class); } -} \ No newline at end of file +}