import com.google.common.collect.ImmutableList;
import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
+import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference;
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.YinElementEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.YinElementStatement;
+import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration;
+import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators;
import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements;
import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractBooleanStatementSupport;
-import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
public final class YinElementStatementSupport
extends AbstractBooleanStatementSupport<YinElementStatement, YinElementEffectiveStatement> {
private static final SubstatementValidator SUBSTATEMENT_VALIDATOR = SubstatementValidator.builder(
YangStmtMapping.YIN_ELEMENT).build();
- private static final YinElementStatementSupport INSTANCE = new YinElementStatementSupport();
- private YinElementStatementSupport() {
+ public YinElementStatementSupport(final YangParserConfiguration config) {
super(YangStmtMapping.YIN_ELEMENT,
EffectiveStatements.createYinElement(DeclaredStatements.createYinElement(false)),
EffectiveStatements.createYinElement(DeclaredStatements.createYinElement(true)),
- StatementPolicy.reject());
- }
-
- public static YinElementStatementSupport getInstance() {
- return INSTANCE;
+ StatementPolicy.reject(), config);
}
@Override
}
@Override
- protected YinElementStatement createDeclared(final StmtContext<Boolean, YinElementStatement, ?> ctx,
+ protected YinElementStatement createDeclared(final Boolean argument,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
- return DeclaredStatements.createYinElement(ctx.getArgument(), substatements);
+ return DeclaredStatements.createYinElement(argument, substatements);
+ }
+
+ @Override
+ protected YinElementStatement attachDeclarationReference(final YinElementStatement stmt,
+ final DeclarationReference reference) {
+ return DeclaredStatementDecorators.decorateYinElement(stmt, reference);
}
@Override