From 55a5ac4c7a4f93d5ec03446e52a3e34edad4ebc0 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sun, 5 Jul 2020 20:28:20 +0200 Subject: [PATCH] Add UnknownSchemaNodeMixin Add basic mixin to use with effective statement implementations. JIRA: YANGTOOLS-1123 Change-Id: Iaa0a7e9624d22999285d36f28ee6a0d797b936db Signed-off-by: Robert Varga --- .../yang/model/api/UnknownSchemaNode.java | 1 + .../stmt/EffectiveStatementMixins.java | 22 +++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/UnknownSchemaNode.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/UnknownSchemaNode.java index 274c465973..1549a29775 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/UnknownSchemaNode.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/UnknownSchemaNode.java @@ -39,6 +39,7 @@ public interface UnknownSchemaNode extends SchemaNode, AddedByUsesAware { * world should be sufficient to ascertain its origin. */ @Deprecated + // FIXME: 6.0.0: rename this to isAugmenting(), unifying this interface with CopyableNode boolean isAddedByAugmentation(); /** diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/EffectiveStatementMixins.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/EffectiveStatementMixins.java index 76c31701ed..6f723711f0 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/EffectiveStatementMixins.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/EffectiveStatementMixins.java @@ -11,6 +11,7 @@ import static com.google.common.base.Verify.verify; import com.google.common.annotations.Beta; import com.google.common.base.MoreObjects; +import com.google.common.base.Strings; import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableSet; import java.util.Collection; @@ -304,6 +305,27 @@ public final class EffectiveStatementMixins { } } + /** + * Bridge between {@link EffectiveStatementWithFlags} and {@link UnknownSchemaNode}. + * + * @param Argument type ({@link Void} if statement does not have argument.) + * @param Class representing declared version of this statement. + */ + public interface UnknownSchemaNodeMixin> + extends SchemaNodeMixin, CopyableMixin, UnknownSchemaNode { + + @Override + default String getNodeParameter() { + return Strings.nullToEmpty(getDeclared().rawArgument()); + } + + @Override + @Deprecated + default boolean isAddedByAugmentation() { + return isAugmenting(); + } + } + /** * Bridge between {@link EffectiveStatementWithFlags} and {@code ordered-by} statement. * -- 2.36.6