X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-rfc7950%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Frfc7950%2Fstmt%2Fcontact%2FContactStatementSupport.java;h=b8123b79ae9ca3790adcc58e3ab374200b9ab8e9;hb=ddcf166646cdc1cac95b2eb9157382b86431c3e8;hp=659ff40742aed56de91aea697950438b11dc6423;hpb=88aeb1cd912d37fcadf671b622fece9a01297e90;p=yangtools.git diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/ContactStatementSupport.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/ContactStatementSupport.java index 659ff40742..b8123b79ae 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/ContactStatementSupport.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/ContactStatementSupport.java @@ -13,19 +13,19 @@ 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.ContactEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ContactStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.BaseStringStatementSupport; -import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; +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.AbstractInternedStringStatementSupport; import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator; public final class ContactStatementSupport - extends BaseStringStatementSupport { + extends AbstractInternedStringStatementSupport { private static final SubstatementValidator SUBSTATEMENT_VALIDATOR = SubstatementValidator.builder( YangStmtMapping.CONTACT).build(); private static final ContactStatementSupport INSTANCE = new ContactStatementSupport(); private ContactStatementSupport() { - super(YangStmtMapping.CONTACT); + super(YangStmtMapping.CONTACT, StatementPolicy.reject()); } public static ContactStatementSupport getInstance() { @@ -38,20 +38,24 @@ public final class ContactStatementSupport } @Override - protected ContactStatement createDeclared(final StmtContext ctx, + protected ContactStatement createDeclared(final String argument, final ImmutableList> substatements) { - return new RegularContactStatement(ctx.coerceRawStatementArgument(), substatements); + return DeclaredStatements.createContact(argument, substatements); } @Override - protected ContactStatement createEmptyDeclared(final StmtContext ctx) { - return new EmptyContactStatement(ctx.coerceRawStatementArgument()); + protected ContactStatement createEmptyDeclared(final String argument) { + return DeclaredStatements.createContact(argument); } @Override - protected ContactEffectiveStatement createEffective(final Current stmt, + protected ContactEffectiveStatement createEffective(final ContactStatement declared, final ImmutableList> substatements) { - return substatements.isEmpty() ? new EmptyContactEffectiveStatement(stmt.declared()) - : new RegularContactEffectiveStatement(stmt.declared(), substatements); + return EffectiveStatements.createContact(declared, substatements); + } + + @Override + protected ContactEffectiveStatement createEmptyEffective(final ContactStatement declared) { + return EffectiveStatements.createContact(declared); } } \ No newline at end of file