From: Robert Varga Date: Tue, 26 Jan 2021 16:51:37 +0000 (+0100) Subject: Centralize ReactorStmtCtx.replicaAsChildOf() X-Git-Tag: v7.0.0~278 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=c294e6dcdbf2f577723ab1bf7aa8f4762ca1d290;p=yangtools.git Centralize ReactorStmtCtx.replicaAsChildOf() This allows the implementations to rely on dealing with its peer constructs. JIRA: YANGTOOLS-1212 Change-Id: I4065e10e1580bb1324448f05a9f6a3ae6bcdd30c Signed-off-by: Robert Varga --- diff --git a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReactorStmtCtx.java b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReactorStmtCtx.java index b289c65433..402e0d2c18 100644 --- a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReactorStmtCtx.java +++ b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReactorStmtCtx.java @@ -7,6 +7,7 @@ */ package org.opendaylight.yangtools.yang.parser.stmt.reactor; +import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Verify.verify; import com.google.common.base.MoreObjects; @@ -315,6 +316,14 @@ abstract class ReactorStmtCtx, E extends Effec abstract @Nullable ReactorStmtCtx asEffectiveChildOf(StatementContextBase parent, CopyType type, QNameModule targetModule); + @Override + public final ReactorStmtCtx replicaAsChildOf(final Mutable parent) { + checkArgument(parent instanceof StatementContextBase, "Unsupported parent %s", parent); + return replicaAsChildOf((StatementContextBase) parent); + } + + abstract @NonNull ReplicaStatementContext replicaAsChildOf(@NonNull StatementContextBase parent); + // // // Statement build entry points -- both public and package-private. diff --git a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReplicaStatementContext.java b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReplicaStatementContext.java index c5c7d3862a..68f750ce4b 100644 --- a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReplicaStatementContext.java +++ b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReplicaStatementContext.java @@ -107,7 +107,7 @@ final class ReplicaStatementContext, E extends } @Override - public Mutable replicaAsChildOf(final Mutable newParent) { + ReplicaStatementContext replicaAsChildOf(final StatementContextBase newParent) { return source.replicaAsChildOf(newParent); } diff --git a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java index 19837d2287..d305f77879 100644 --- a/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java +++ b/yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/StatementContextBase.java @@ -738,13 +738,8 @@ public abstract class StatementContextBase, E } @Override - public final ReactorStmtCtx replicaAsChildOf(final Mutable parent) { - checkArgument(parent instanceof StatementContextBase, "Unsupported parent %s", parent); - return replicaAsChildOf((StatementContextBase) parent); - } - - final @NonNull ReplicaStatementContext replicaAsChildOf(final StatementContextBase stmt) { - return new ReplicaStatementContext<>(stmt, this); + final ReplicaStatementContext replicaAsChildOf(final StatementContextBase parent) { + return new ReplicaStatementContext<>(parent, this); } private static void checkEffectiveModelCompleted(final StmtContext stmt) {