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.MinElementsEffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.MinElementsStatement;
+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.api.YangParserConfiguration;
import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractInternedStatementSupport;
import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
public final class MinElementsStatementSupport
extends AbstractInternedStatementSupport<Integer, MinElementsStatement, MinElementsEffectiveStatement> {
- private static final SubstatementValidator SUBSTATEMENT_VALIDATOR = SubstatementValidator.builder(
- YangStmtMapping.MIN_ELEMENTS)
- .build();
- private static final MinElementsStatementSupport INSTANCE = new MinElementsStatementSupport();
+ private static final SubstatementValidator SUBSTATEMENT_VALIDATOR =
+ SubstatementValidator.builder(YangStmtMapping.MIN_ELEMENTS).build();
- private MinElementsStatementSupport() {
- super(YangStmtMapping.MIN_ELEMENTS, StatementPolicy.contextIndependent());
- }
-
- public static MinElementsStatementSupport getInstance() {
- return INSTANCE;
+ public MinElementsStatementSupport(final YangParserConfiguration config) {
+ super(YangStmtMapping.MIN_ELEMENTS, StatementPolicy.contextIndependent(), config, SUBSTATEMENT_VALIDATOR);
}
@Override
}
}
- @Override
- protected SubstatementValidator getSubstatementValidator() {
- return SUBSTATEMENT_VALIDATOR;
- }
-
@Override
protected MinElementsStatement createDeclared(final Integer argument,
final ImmutableList<? extends DeclaredStatement<?>> substatements) {
return DeclaredStatements.createMinElements(argument, substatements);
}
+ @Override
+ protected MinElementsStatement attachDeclarationReference(final MinElementsStatement stmt,
+ final DeclarationReference reference) {
+ return DeclaredStatementDecorators.decorateMinElements(stmt, reference);
+ }
+
@Override
protected MinElementsStatement createEmptyDeclared(final Integer argument) {
return DeclaredStatements.createMinElements(argument);
protected MinElementsEffectiveStatement createEmptyEffective(final MinElementsStatement declared) {
return EffectiveStatements.createMinElements(declared);
}
-}
\ No newline at end of file
+}