Teach YANG parser to retain DeclarationReference
[yangtools.git] / yang / rfc6643-parser-support / src / main / java / org / opendaylight / yangtools / rfc6643 / parser / AliasStatementSupport.java
index a9e42906aef1b22b021bc94da2a2133119ed6fe2..0d642de549794391a3c4d1689adaa9dbcc294911 100644 (file)
@@ -15,14 +15,15 @@ import org.opendaylight.yangtools.rfc6643.model.api.IetfYangSmiv2ExtensionsMappi
 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.parser.rfc7950.stmt.BaseStringStatementSupport;
+import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration;
+import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStringStatementSupport;
 import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
 
 @Beta
 public final class AliasStatementSupport
-        extends BaseStringStatementSupport<AliasStatement, AliasEffectiveStatement> {
+        extends AbstractStringStatementSupport<AliasStatement, AliasEffectiveStatement> {
     private static final SubstatementValidator SUBSTATEMENT_VALIDATOR =
             SubstatementValidator.builder(IetfYangSmiv2ExtensionsMapping.ALIAS)
                 .add(YangStmtMapping.DESCRIPTION, 0, 1)
@@ -30,14 +31,9 @@ public final class AliasStatementSupport
                 .add(YangStmtMapping.STATUS, 0, 1)
                 .add(IetfYangSmiv2ExtensionsMapping.OBJECT_ID, 0, 1)
                 .build();
-    private static final AliasStatementSupport INSTANCE = new AliasStatementSupport();
 
-    private AliasStatementSupport() {
-        super(IetfYangSmiv2ExtensionsMapping.ALIAS, StatementPolicy.contextIndependent());
-    }
-
-    public static AliasStatementSupport getInstance() {
-        return INSTANCE;
+    public AliasStatementSupport(final YangParserConfiguration config) {
+        super(IetfYangSmiv2ExtensionsMapping.ALIAS, StatementPolicy.contextIndependent(), config);
     }
 
     @Override
@@ -51,11 +47,6 @@ public final class AliasStatementSupport
         return new AliasStatementImpl(ctx.getRawArgument(), substatements);
     }
 
-    @Override
-    protected AliasStatement createEmptyDeclared(final StmtContext<String, AliasStatement, ?> ctx) {
-        return createDeclared(ctx, ImmutableList.of());
-    }
-
     @Override
     protected AliasEffectiveStatement createEffective(final Current<String, AliasStatement> stmt,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {