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%2FSupportedExtensionsMapping.java;h=55390c8d2f70e576ffe4db011ceb66d4d6d3ca47;hb=4968d735af48cd6b0ea91b37fbd238316c7cb46c;hp=a62e0b7c5e5015a423e65d71b03a4507257076ae;hpb=82af449e4ef07d80490e79484d0402b81009541e;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SupportedExtensionsMapping.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SupportedExtensionsMapping.java index a62e0b7c5e..55390c8d2f 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SupportedExtensionsMapping.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/SupportedExtensionsMapping.java @@ -16,26 +16,46 @@ 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.meta.StatementDefinition; import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.AnyxmlSchemaLocationEffectiveStatementImpl; +import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.SemanticVersionEffectiveStatementImpl; @Beta public enum SupportedExtensionsMapping implements StatementDefinition { ANYXML_SCHEMA_LOCATION("urn:opendaylight:yang:extension:yang-ext", "2013-07-09", - AnyxmlSchemaLocationStatementImpl.class, AnyxmlSchemaLocationEffectiveStatementImpl.class, - "anyxml-schema-location", "target-node"); + AnyxmlSchemaLocationStatementImpl.class, AnyxmlSchemaLocationEffectiveStatementImpl.class, + "anyxml-schema-location", "target-node", false), SEMANTIC_VERSION( + "urn:opendaylight:yang:extension:semantic-version", "2016-02-02", SemanticVersionStatementImpl.class, + SemanticVersionEffectiveStatementImpl.class, "semantic-version", "semantic-version", false); private final Class> type; private final Class> effectiveType; private final QName name; private final QName argument; + private final boolean yinElement; SupportedExtensionsMapping(final String namespace, final String revision, final Class> declared, - final Class> effective, final String nameStr, - final String argumentStr) { + final Class> effective, final String nameStr, final String argumentStr, + final boolean yinElement) { type = Preconditions.checkNotNull(declared); effectiveType = Preconditions.checkNotNull(effective); name = createQName(namespace, revision, nameStr); argument = createQName(namespace, revision, argumentStr); + this.yinElement = yinElement; + } + + private SupportedExtensionsMapping(final String namespace, final Class> declared, + final Class> effective, final String nameStr, final String argumentStr, + final boolean yinElement) { + type = Preconditions.checkNotNull(declared); + effectiveType = Preconditions.checkNotNull(effective); + name = createQName(namespace, nameStr); + argument = createQName(namespace, argumentStr); + this.yinElement = yinElement; + } + + @Nonnull + private static QName createQName(final String namespace, final String localName) { + return QName.create(namespace, localName).intern(); } @Nonnull @@ -64,4 +84,9 @@ public enum SupportedExtensionsMapping implements StatementDefinition { public Class> getEffectiveRepresentationClass() { return effectiveType; } + + @Override + public boolean isArgumentYinElement() { + return yinElement; + } }