From 9c9a27956608ddec050d15018f3dfc06c6e5128f Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Tue, 28 Jan 2020 21:49:42 +0100 Subject: [PATCH] Add default statementDefinition() methods Ever since Java 8 we can implement methods as default, which is a perfect fit for our representation classes. Make sure all migrated statements provide this method, making our life easier on the class design side -- as we do not need to capture/copy those statements. Also remove AbstractBooleanDeclaredStatement, as it serves no real purpose except to split our class hierarchy. JIRA: YANGTOOLS-1065 Change-Id: I707bf842964748f98b5062d65cffc1e8b8fb421d Signed-off-by: Robert Varga (cherry picked from commit 98948981ae99dd0a8366908c7448b5b7de0584d3) (cherry picked from commit 4ba56f39dc90569c2600bbb7ea213b17b6b40461) --- .../api/stmt/BelongsToEffectiveStatement.java | 7 ++++- .../model/api/stmt/BelongsToStatement.java | 7 +++++ .../api/stmt/ConfigEffectiveStatement.java | 7 ++++- .../yang/model/api/stmt/ConfigStatement.java | 7 +++++ .../api/stmt/ContactEffectiveStatement.java | 7 ++++- .../yang/model/api/stmt/ContactStatement.java | 7 +++++ .../api/stmt/ContainerEffectiveStatement.java | 9 ++++-- .../api/stmt/DefaultEffectiveStatement.java | 7 ++++- .../yang/model/api/stmt/DefaultStatement.java | 7 +++++ .../stmt/DescriptionEffectiveStatement.java | 7 ++++- .../model/api/stmt/DescriptionStatement.java | 7 +++++ .../stmt/ErrorAppTagEffectiveStatement.java | 7 ++++- .../model/api/stmt/ErrorAppTagStatement.java | 7 +++++ .../stmt/ErrorMessageEffectiveStatement.java | 7 ++++- .../model/api/stmt/ErrorMessageStatement.java | 7 +++++ .../model/api/stmt/KeyEffectiveStatement.java | 7 ++++- .../yang/model/api/stmt/KeyStatement.java | 8 +++-- .../api/stmt/LeafEffectiveStatement.java | 7 ++++- .../api/stmt/LeafListEffectiveStatement.java | 7 ++++- .../api/stmt/ListEffectiveStatement.java | 9 ++++-- .../api/stmt/MandatoryEffectiveStatement.java | 7 ++++- .../model/api/stmt/MandatoryStatement.java | 7 +++++ .../api/stmt/OrderedByEffectiveStatement.java | 7 ++++- .../model/api/stmt/OrderedByStatement.java | 7 +++++ .../api/stmt/PositionEffectiveStatement.java | 7 ++++- .../model/api/stmt/PositionStatement.java | 7 +++++ .../api/stmt/PrefixEffectiveStatement.java | 7 ++++- .../yang/model/api/stmt/PrefixStatement.java | 7 +++++ .../api/stmt/PresenceEffectiveStatement.java | 7 ++++- .../model/api/stmt/PresenceStatement.java | 7 +++++ .../api/stmt/ReferenceEffectiveStatement.java | 7 ++++- .../model/api/stmt/ReferenceStatement.java | 7 +++++ .../RequireInstanceEffectiveStatement.java | 7 ++++- .../api/stmt/RequireInstanceStatement.java | 7 +++++ .../api/stmt/StatusEffectiveStatement.java | 7 ++++- .../yang/model/api/stmt/StatusStatement.java | 7 +++++ .../api/stmt/UnitsEffectiveStatement.java | 7 ++++- .../yang/model/api/stmt/UnitsStatement.java | 7 +++++ .../api/stmt/ValueEffectiveStatement.java | 7 ++++- .../yang/model/api/stmt/ValueStatement.java | 7 +++++ .../stmt/YinElementEffectiveStatement.java | 7 ++++- .../model/api/stmt/YinElementStatement.java | 7 +++++ .../AbstractBooleanDeclaredStatement.java | 17 ----------- .../AbstractDeclaredEffectiveStatement.java | 22 ++++++++++---- .../stmt/AbstractDeclaredStatement.java | 30 +++++++++++++++++++ .../AbstractBelongsToEffectiveStatement.java | 20 ------------- .../AbstractBelongsToStatement.java | 25 ---------------- .../EmptyBelongsToEffectiveStatement.java | 5 +++- .../belongs_to/EmptyBelongsToStatement.java | 4 ++- .../RegularBelongsToEffectiveStatement.java | 16 ++++------ .../belongs_to/RegularBelongsToStatement.java | 16 +++------- .../AbstractConfigEffectiveStatement.java | 20 ------------- .../stmt/config/AbstractConfigStatement.java | 24 --------------- .../config/EmptyConfigEffectiveStatement.java | 5 +++- .../stmt/config/EmptyConfigStatement.java | 5 +++- .../RegularConfigEffectiveStatement.java | 18 ++++------- .../stmt/config/RegularConfigStatement.java | 16 +++------- .../AbstractContactEffectiveStatement.java | 20 ------------- .../contact/AbstractContactStatement.java | 25 ---------------- .../EmptyContactEffectiveStatement.java | 5 +++- .../stmt/contact/EmptyContactStatement.java | 4 ++- .../RegularContactEffectiveStatement.java | 16 ++++------ .../stmt/contact/RegularContactStatement.java | 16 +++------- .../AbstractDefaultEffectiveStatement.java | 20 ------------- .../default_/AbstractDefaultStatement.java | 25 ---------------- .../EmptyDefaultEffectiveStatement.java | 5 +++- .../stmt/default_/EmptyDefaultStatement.java | 4 ++- .../RegularDefaultEffectiveStatement.java | 16 ++++------ .../default_/RegularDefaultStatement.java | 16 +++------- ...AbstractDescriptionEffectiveStatement.java | 20 ------------- .../AbstractDescriptionStatement.java | 25 ---------------- .../EmptyDescriptionEffectiveStatement.java | 5 +++- .../EmptyDescriptionStatement.java | 4 ++- .../RegularDescriptionEffectiveStatement.java | 16 ++++------ .../RegularDescriptionStatement.java | 16 +++------- ...AbstractErrorAppTagEffectiveStatement.java | 20 ------------- .../AbstractErrorAppTagStatement.java | 25 ---------------- .../EmptyErrorAppTagEffectiveStatement.java | 5 +++- .../EmptyErrorAppTagStatement.java | 4 ++- .../RegularErrorAppTagEffectiveStatement.java | 16 ++++------ .../RegularErrorAppTagStatement.java | 16 +++------- ...bstractErrorMessageEffectiveStatement.java | 20 ------------- .../AbstractErrorMessageStatement.java | 25 ---------------- .../EmptyErrorMessageEffectiveStatement.java | 5 +++- .../EmptyErrorMessageStatement.java | 4 ++- ...RegularErrorMessageEffectiveStatement.java | 16 ++++------ .../RegularErrorMessageStatement.java | 16 +++------- .../stmt/key/AbstractKeyStatement.java | 28 ----------------- .../rfc7950/stmt/key/EmptyKeyStatement.java | 4 ++- .../rfc7950/stmt/key/RegularKeyStatement.java | 4 ++- .../AbstractMandatoryEffectiveStatement.java | 20 ------------- .../mandatory/AbstractMandatoryStatement.java | 24 --------------- .../EmptyMandatoryEffectiveStatement.java | 5 +++- .../mandatory/EmptyMandatoryStatement.java | 5 +++- .../RegularMandatoryEffectiveStatement.java | 18 ++++------- .../mandatory/RegularMandatoryStatement.java | 16 +++------- .../AbstractOrderedByEffectiveStatement.java | 20 ------------- .../AbstractOrderedByStatement.java | 7 ----- .../EmptyOrderedByEffectiveStatement.java | 5 +++- .../RegularOrderedByEffectiveStatement.java | 16 ++++------ .../AbstractPositionEffectiveStatement.java | 20 ------------- .../position/AbstractPositionStatement.java | 24 --------------- .../EmptyPositionEffectiveStatement.java | 5 +++- .../stmt/position/EmptyPositionStatement.java | 5 +++- .../RegularPositionEffectiveStatement.java | 18 ++++------- .../position/RegularPositionStatement.java | 16 +++------- .../AbstractPrefixEffectiveStatement.java | 20 ------------- .../stmt/prefix/AbstractPrefixStatement.java | 25 ---------------- .../prefix/EmptyPrefixEffectiveStatement.java | 5 +++- .../stmt/prefix/EmptyPrefixStatement.java | 4 ++- .../RegularPrefixEffectiveStatement.java | 16 ++++------ .../stmt/prefix/RegularPrefixStatement.java | 16 +++------- .../AbstractPresenceEffectiveStatement.java | 20 ------------- .../presence/AbstractPresenceStatement.java | 25 ---------------- .../EmptyPresenceEffectiveStatement.java | 5 +++- .../stmt/presence/EmptyPresenceStatement.java | 4 ++- .../RegularPresenceEffectiveStatement.java | 16 ++++------ .../presence/RegularPresenceStatement.java | 16 +++------- .../AbstractReferenceEffectiveStatement.java | 20 ------------- .../reference/AbstractReferenceStatement.java | 25 ---------------- .../EmptyReferenceEffectiveStatement.java | 5 +++- .../reference/EmptyReferenceStatement.java | 4 ++- .../RegularReferenceEffectiveStatement.java | 16 ++++------ .../reference/RegularReferenceStatement.java | 16 +++------- ...ractRequireInstanceEffectiveStatement.java | 20 ------------- .../AbstractRequireInstanceStatement.java | 25 ---------------- ...mptyRequireInstanceEffectiveStatement.java | 5 +++- .../EmptyRequireInstanceStatement.java | 5 +++- ...ularRequireInstanceEffectiveStatement.java | 16 ++++------ .../RegularRequireInstanceStatement.java | 16 +++------- .../AbstractStatusEffectiveStatement.java | 21 ------------- .../stmt/status/AbstractStatusStatement.java | 7 ----- .../status/EmptyStatusEffectiveStatement.java | 6 +++- .../RegularStatusEffectiveStatement.java | 17 ++++------- .../AbstractUnitsEffectiveStatement.java | 20 ------------- .../stmt/units/AbstractUnitsStatement.java | 25 ---------------- .../units/EmptyUnitsEffectiveStatement.java | 5 +++- .../stmt/units/EmptyUnitsStatement.java | 4 ++- .../units/RegularUnitsEffectiveStatement.java | 16 ++++------ .../stmt/units/RegularUnitsStatement.java | 16 +++------- .../AbstractValueEffectiveStatement.java | 20 ------------- .../stmt/value/AbstractValueStatement.java | 24 --------------- .../value/EmptyValueEffectiveStatement.java | 5 +++- .../stmt/value/EmptyValueStatement.java | 5 +++- .../value/RegularValueEffectiveStatement.java | 18 ++++------- .../stmt/value/RegularValueStatement.java | 16 +++------- .../AbstractYinElementEffectiveStatement.java | 20 ------------- .../AbstractYinElementStatement.java | 24 --------------- .../EmptyYinElementEffectiveStatement.java | 5 +++- .../yin_element/EmptyYinElementStatement.java | 5 +++- .../RegularYinElementEffectiveStatement.java | 16 ++++------ .../RegularYinElementStatement.java | 16 +++------- 152 files changed, 610 insertions(+), 1278 deletions(-) delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractBooleanDeclaredStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/AbstractBelongsToEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/AbstractBelongsToStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/AbstractConfigEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/AbstractConfigStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/AbstractContactEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/AbstractContactStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/AbstractDefaultEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/AbstractDefaultStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/AbstractDescriptionEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/AbstractDescriptionStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/AbstractErrorAppTagEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/AbstractErrorAppTagStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/AbstractErrorMessageEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/AbstractErrorMessageStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/key/AbstractKeyStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/AbstractMandatoryEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/AbstractMandatoryStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/AbstractOrderedByEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/AbstractPositionEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/AbstractPositionStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/AbstractPrefixEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/AbstractPrefixStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/AbstractPresenceEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/AbstractPresenceStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/AbstractReferenceEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/AbstractReferenceStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/AbstractRequireInstanceEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/AbstractRequireInstanceStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/AbstractStatusEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/AbstractUnitsEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/AbstractUnitsStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/AbstractValueEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/AbstractValueStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/AbstractYinElementEffectiveStatement.java delete mode 100644 yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/AbstractYinElementStatement.java diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BelongsToEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BelongsToEffectiveStatement.java index 0a8c1921f7..c6ef4f40f3 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BelongsToEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BelongsToEffectiveStatement.java @@ -8,9 +8,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface BelongsToEffectiveStatement extends EffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.BELONGS_TO; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BelongsToStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BelongsToStatement.java index 67f53ee978..073bab840a 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BelongsToStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BelongsToStatement.java @@ -10,9 +10,16 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import static com.google.common.base.Verify.verifyNotNull; import org.eclipse.jdt.annotation.NonNull; +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.StatementDefinition; public interface BelongsToStatement extends DeclaredStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.BELONGS_TO; + } + default @NonNull String getModule() { // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here return verifyNotNull(argument()); diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ConfigEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ConfigEffectiveStatement.java index cc372e88e7..7a79433c6b 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ConfigEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ConfigEffectiveStatement.java @@ -7,8 +7,13 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; public interface ConfigEffectiveStatement extends EffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.CONFIG; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ConfigStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ConfigStatement.java index 2590cb5959..2199f62688 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ConfigStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ConfigStatement.java @@ -7,9 +7,16 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +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.StatementDefinition; public interface ConfigStatement extends DeclaredStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.CONFIG; + } + default boolean getValue() { return argument().booleanValue(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContactEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContactEffectiveStatement.java index 193110c1ca..e8b684ec51 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContactEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContactEffectiveStatement.java @@ -8,9 +8,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface ContactEffectiveStatement extends EffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.CONTACT; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContactStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContactStatement.java index e511fcec9f..9a320f7bf0 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContactStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContactStatement.java @@ -10,9 +10,16 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import static com.google.common.base.Verify.verifyNotNull; import org.eclipse.jdt.annotation.NonNull; +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.StatementDefinition; public interface ContactStatement extends DeclaredStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.CONTACT; + } + default @NonNull String getText() { // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here return verifyNotNull(rawArgument()); diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContainerEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContainerEffectiveStatement.java index 75800b746a..82bd87e1d6 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContainerEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContainerEffectiveStatement.java @@ -9,9 +9,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface ContainerEffectiveStatement extends DataTreeEffectiveStatement, - DataTreeAwareEffectiveStatement { - + DataTreeAwareEffectiveStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.CONTAINER; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DefaultEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DefaultEffectiveStatement.java index b6058589fa..1de26422da 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DefaultEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DefaultEffectiveStatement.java @@ -8,9 +8,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface DefaultEffectiveStatement extends EffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.DEFAULT; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DefaultStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DefaultStatement.java index 6b325b106a..d90bd75dd0 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DefaultStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DefaultStatement.java @@ -10,9 +10,16 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import static com.google.common.base.Verify.verifyNotNull; import org.eclipse.jdt.annotation.NonNull; +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.StatementDefinition; public interface DefaultStatement extends DeclaredStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.DEFAULT; + } + default @NonNull String getValue() { // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here return verifyNotNull(argument()); diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DescriptionEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DescriptionEffectiveStatement.java index 9ab39755ea..1228e6a4b1 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DescriptionEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DescriptionEffectiveStatement.java @@ -8,9 +8,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface DescriptionEffectiveStatement extends EffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.DESCRIPTION; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DescriptionStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DescriptionStatement.java index 80f9d07ac2..611cd4e0c9 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DescriptionStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DescriptionStatement.java @@ -10,9 +10,16 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import static com.google.common.base.Verify.verifyNotNull; import org.eclipse.jdt.annotation.NonNull; +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.StatementDefinition; public interface DescriptionStatement extends DeclaredStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.DESCRIPTION; + } + default @NonNull String getText() { // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here return verifyNotNull(argument()); diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorAppTagEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorAppTagEffectiveStatement.java index 162bd9126e..0a19113185 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorAppTagEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorAppTagEffectiveStatement.java @@ -8,9 +8,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface ErrorAppTagEffectiveStatement extends EffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.ERROR_APP_TAG; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorAppTagStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorAppTagStatement.java index 0d33c9e653..23dca9fcb5 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorAppTagStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorAppTagStatement.java @@ -10,9 +10,16 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import static com.google.common.base.Verify.verifyNotNull; import org.eclipse.jdt.annotation.NonNull; +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.StatementDefinition; public interface ErrorAppTagStatement extends DeclaredStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.ERROR_APP_TAG; + } + default @NonNull String getValue() { // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here return verifyNotNull(argument()); diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorMessageEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorMessageEffectiveStatement.java index 6c0d99b7b9..8aabdab259 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorMessageEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorMessageEffectiveStatement.java @@ -8,9 +8,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface ErrorMessageEffectiveStatement extends EffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.ERROR_MESSAGE; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorMessageStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorMessageStatement.java index d07b41ea8c..fd49abcae2 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorMessageStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorMessageStatement.java @@ -10,9 +10,16 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import static com.google.common.base.Verify.verifyNotNull; import org.eclipse.jdt.annotation.NonNull; +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.StatementDefinition; public interface ErrorMessageStatement extends DeclaredStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.ERROR_MESSAGE; + } + default @NonNull String getValue() { // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here return verifyNotNull(argument()); diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/KeyEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/KeyEffectiveStatement.java index d14293eaa4..7be8266801 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/KeyEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/KeyEffectiveStatement.java @@ -9,9 +9,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; import java.util.Collection; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface KeyEffectiveStatement extends EffectiveStatement, KeyStatement> { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.KEY; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/KeyStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/KeyStatement.java index e015604600..dd0e49b867 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/KeyStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/KeyStatement.java @@ -8,9 +8,13 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import java.util.Collection; +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.StatementDefinition; public interface KeyStatement extends DeclaredStatement> { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.KEY; + } } - diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LeafEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LeafEffectiveStatement.java index 5bd3b93b20..6245b41154 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LeafEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LeafEffectiveStatement.java @@ -8,8 +8,13 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface LeafEffectiveStatement extends DataTreeEffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.LEAF; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LeafListEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LeafListEffectiveStatement.java index 2ad962261b..27bf292efd 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LeafListEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LeafListEffectiveStatement.java @@ -8,8 +8,13 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface LeafListEffectiveStatement extends DataTreeEffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.LEAF_LIST; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ListEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ListEffectiveStatement.java index 5dbf4bafae..eb717ac896 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ListEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ListEffectiveStatement.java @@ -9,9 +9,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; import org.opendaylight.yangtools.yang.common.QName; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface ListEffectiveStatement extends DataTreeEffectiveStatement, - DataTreeAwareEffectiveStatement { - + DataTreeAwareEffectiveStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.LIST; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryEffectiveStatement.java index 7578295a70..fe7770a178 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryEffectiveStatement.java @@ -7,8 +7,13 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; public interface MandatoryEffectiveStatement extends EffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.MANDATORY; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryStatement.java index fca875ddda..00b340afbb 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryStatement.java @@ -10,9 +10,16 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import static com.google.common.base.Verify.verifyNotNull; import org.eclipse.jdt.annotation.NonNull; +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.StatementDefinition; public interface MandatoryStatement extends DeclaredStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.MANDATORY; + } + default @NonNull Boolean getValue() { // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here return verifyNotNull(argument()); diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrderedByEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrderedByEffectiveStatement.java index 724e272b90..4335e2f652 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrderedByEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrderedByEffectiveStatement.java @@ -8,9 +8,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface OrderedByEffectiveStatement extends EffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.ORDERED_BY; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrderedByStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrderedByStatement.java index 554f2159d4..b9d67a254f 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrderedByStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrderedByStatement.java @@ -10,9 +10,16 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import static com.google.common.base.Verify.verifyNotNull; import org.eclipse.jdt.annotation.NonNull; +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.StatementDefinition; public interface OrderedByStatement extends DeclaredStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.ORDERED_BY; + } + default @NonNull String getValue() { // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here return verifyNotNull(argument()); diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PositionEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PositionEffectiveStatement.java index 56e41465c5..c240295cb5 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PositionEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PositionEffectiveStatement.java @@ -8,9 +8,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface PositionEffectiveStatement extends EffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.POSITION; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PositionStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PositionStatement.java index e5a732cef4..81e75d6af7 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PositionStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PositionStatement.java @@ -7,9 +7,16 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +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.StatementDefinition; public interface PositionStatement extends DeclaredStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.POSITION; + } + default long getValue() { return argument().longValue(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PrefixEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PrefixEffectiveStatement.java index a846f6e199..b67acf7668 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PrefixEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PrefixEffectiveStatement.java @@ -8,9 +8,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface PrefixEffectiveStatement extends EffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.PREFIX; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PrefixStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PrefixStatement.java index 44354e05cb..96a3c201b5 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PrefixStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PrefixStatement.java @@ -10,9 +10,16 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import static com.google.common.base.Verify.verifyNotNull; import org.eclipse.jdt.annotation.NonNull; +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.StatementDefinition; public interface PrefixStatement extends DeclaredStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.PREFIX; + } + default @NonNull String getValue() { // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here return verifyNotNull(rawArgument()); diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PresenceEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PresenceEffectiveStatement.java index f23a94717c..101a445f25 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PresenceEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PresenceEffectiveStatement.java @@ -8,9 +8,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface PresenceEffectiveStatement extends EffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.PRESENCE; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PresenceStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PresenceStatement.java index c570225b73..fa2ad2143e 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PresenceStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PresenceStatement.java @@ -10,9 +10,16 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import static com.google.common.base.Verify.verifyNotNull; import org.eclipse.jdt.annotation.NonNull; +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.StatementDefinition; public interface PresenceStatement extends DeclaredStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.PRESENCE; + } + default @NonNull String getValue() { // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here return verifyNotNull(argument()); diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ReferenceEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ReferenceEffectiveStatement.java index 77bbd09a76..87c4346ed3 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ReferenceEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ReferenceEffectiveStatement.java @@ -8,9 +8,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface ReferenceEffectiveStatement extends EffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.REFERENCE; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ReferenceStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ReferenceStatement.java index e5341c8eec..1e2d0c312a 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ReferenceStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ReferenceStatement.java @@ -10,9 +10,16 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import static com.google.common.base.Verify.verifyNotNull; import org.eclipse.jdt.annotation.NonNull; +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.StatementDefinition; public interface ReferenceStatement extends DeclaredStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.REFERENCE; + } + default @NonNull String getText() { // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here return verifyNotNull(rawArgument()); diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RequireInstanceEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RequireInstanceEffectiveStatement.java index 3702bd11af..fb79167ca5 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RequireInstanceEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RequireInstanceEffectiveStatement.java @@ -8,9 +8,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface RequireInstanceEffectiveStatement extends EffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.REQUIRE_INSTANCE; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RequireInstanceStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RequireInstanceStatement.java index 3614b325fb..186ab5ddb9 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RequireInstanceStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RequireInstanceStatement.java @@ -7,9 +7,16 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +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.StatementDefinition; public interface RequireInstanceStatement extends DeclaredStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.REQUIRE_INSTANCE; + } + default boolean getValue() { return argument().booleanValue(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/StatusEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/StatusEffectiveStatement.java index c139fb7249..c5ce5f1d69 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/StatusEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/StatusEffectiveStatement.java @@ -9,9 +9,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; import org.opendaylight.yangtools.yang.model.api.Status; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface StatusEffectiveStatement extends EffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.STATUS; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/StatusStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/StatusStatement.java index ee1dfbf773..31fb566fce 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/StatusStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/StatusStatement.java @@ -11,9 +11,16 @@ import static com.google.common.base.Verify.verifyNotNull; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.Status; +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.StatementDefinition; public interface StatusStatement extends DeclaredStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.STATUS; + } + default @NonNull Status getValue() { // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here return verifyNotNull(argument()); diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnitsEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnitsEffectiveStatement.java index 358f67834b..2d088ffa93 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnitsEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnitsEffectiveStatement.java @@ -8,9 +8,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface UnitsEffectiveStatement extends EffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.UNITS; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnitsStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnitsStatement.java index 127481acbe..4aee8c9347 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnitsStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnitsStatement.java @@ -10,9 +10,16 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import static com.google.common.base.Verify.verifyNotNull; import org.eclipse.jdt.annotation.NonNull; +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.StatementDefinition; public interface UnitsStatement extends DeclaredStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.UNITS; + } + default @NonNull String getName() { // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here return verifyNotNull(argument()); diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ValueEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ValueEffectiveStatement.java index dc4df6f6bb..00640f29dc 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ValueEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ValueEffectiveStatement.java @@ -8,9 +8,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface ValueEffectiveStatement extends EffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.VALUE; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ValueStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ValueStatement.java index a3037bbf87..36f7256863 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ValueStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ValueStatement.java @@ -7,9 +7,16 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +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.StatementDefinition; public interface ValueStatement extends DeclaredStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.VALUE; + } + default int getValue() { return argument().intValue(); } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/YinElementEffectiveStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/YinElementEffectiveStatement.java index 20633d0d4d..c91c92d58c 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/YinElementEffectiveStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/YinElementEffectiveStatement.java @@ -8,9 +8,14 @@ package org.opendaylight.yangtools.yang.model.api.stmt; import com.google.common.annotations.Beta; +import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; @Beta public interface YinElementEffectiveStatement extends EffectiveStatement { - + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.YIN_ELEMENT; + } } diff --git a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/YinElementStatement.java b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/YinElementStatement.java index 9895e946c1..883e92c18e 100644 --- a/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/YinElementStatement.java +++ b/yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/YinElementStatement.java @@ -7,9 +7,16 @@ */ package org.opendaylight.yangtools.yang.model.api.stmt; +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.StatementDefinition; public interface YinElementStatement extends DeclaredStatement { + @Override + default StatementDefinition statementDefinition() { + return YangStmtMapping.YIN_ELEMENT; + } + default boolean getValue() { return argument().booleanValue(); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractBooleanDeclaredStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractBooleanDeclaredStatement.java deleted file mode 100644 index ea79c5f90c..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractBooleanDeclaredStatement.java +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt; - -import com.google.common.annotations.Beta; - -@Beta -public abstract class AbstractBooleanDeclaredStatement extends AbstractDeclaredStatement.ArgumentToString { - protected AbstractBooleanDeclaredStatement(final Boolean argument) { - super(argument); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractDeclaredEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractDeclaredEffectiveStatement.java index 95341eeb27..fe88538bf0 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractDeclaredEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractDeclaredEffectiveStatement.java @@ -23,7 +23,6 @@ import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; 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.IdentifierNamespace; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; import org.opendaylight.yangtools.yang.model.api.meta.StatementSource; import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeAwareEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeEffectiveStatement; @@ -52,11 +51,6 @@ public abstract class AbstractDeclaredEffectiveStatement Class representing declared version of this statement. */ public abstract static class DefaultArgument> extends Default { + public abstract static class WithSubstatements> + extends DefaultArgument { + private final @NonNull Object substatements; + + protected WithSubstatements(final D declared, + final ImmutableList> substatements) { + super(declared); + this.substatements = maskList(substatements); + } + + @Override + public final ImmutableList> effectiveSubstatements() { + return unmaskList(substatements); + } + } + protected DefaultArgument(final D declared) { super(declared); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractDeclaredStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractDeclaredStatement.java index a457fb81cd..1e7833db51 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractDeclaredStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractDeclaredStatement.java @@ -66,6 +66,21 @@ public abstract class AbstractDeclaredStatement extends AbstractModelStatemen } public abstract static class WithRawStringArgument extends WithRawArgument { + public abstract static class WithSubstatements extends WithRawStringArgument { + private final @NonNull Object substatements; + + protected WithSubstatements(final StmtContext context, + final ImmutableList> substatements) { + super(context); + this.substatements = maskList(substatements); + } + + @Override + public final Collection> declaredSubstatements() { + return unmaskList(substatements); + } + } + protected WithRawStringArgument(final StmtContext context) { super(context); } @@ -91,6 +106,21 @@ public abstract class AbstractDeclaredStatement extends AbstractModelStatemen } public abstract static class ArgumentToString extends AbstractDeclaredStatement { + public abstract static class WithSubstatements extends ArgumentToString { + private final @NonNull Object substatements; + + protected WithSubstatements(final A argument, + final ImmutableList> substatements) { + super(argument); + this.substatements = maskList(substatements); + } + + @Override + public final Collection> declaredSubstatements() { + return unmaskList(substatements); + } + } + private final @NonNull A argument; protected ArgumentToString(final A argument) { diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/AbstractBelongsToEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/AbstractBelongsToEffectiveStatement.java deleted file mode 100644 index f35735a424..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/AbstractBelongsToEffectiveStatement.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.belongs_to; - -import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement; - -abstract class AbstractBelongsToEffectiveStatement - extends AbstractDeclaredEffectiveStatement.DefaultArgument - implements BelongsToEffectiveStatement { - AbstractBelongsToEffectiveStatement(final BelongsToStatement declared) { - super(declared); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/AbstractBelongsToStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/AbstractBelongsToStatement.java deleted file mode 100644 index 1f475dc2dc..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/AbstractBelongsToStatement.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.belongs_to; - -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; -import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; - -abstract class AbstractBelongsToStatement extends WithRawStringArgument implements BelongsToStatement { - AbstractBelongsToStatement(final StmtContext context) { - super(context); - } - - @Override - public final StatementDefinition statementDefinition() { - return YangStmtMapping.BELONGS_TO; - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/EmptyBelongsToEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/EmptyBelongsToEffectiveStatement.java index 7274d86f6e..628c8e346b 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/EmptyBelongsToEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/EmptyBelongsToEffectiveStatement.java @@ -7,9 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.belongs_to; +import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument; -final class EmptyBelongsToEffectiveStatement extends AbstractBelongsToEffectiveStatement { +final class EmptyBelongsToEffectiveStatement extends DefaultArgument + implements BelongsToEffectiveStatement { EmptyBelongsToEffectiveStatement(final BelongsToStatement declared) { super(declared); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/EmptyBelongsToStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/EmptyBelongsToStatement.java index 11d12cf9c6..9e8718a70f 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/EmptyBelongsToStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/EmptyBelongsToStatement.java @@ -7,9 +7,11 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.belongs_to; +import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class EmptyBelongsToStatement extends AbstractBelongsToStatement { +final class EmptyBelongsToStatement extends WithRawStringArgument implements BelongsToStatement { EmptyBelongsToStatement(final StmtContext context) { super(context); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/RegularBelongsToEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/RegularBelongsToEffectiveStatement.java index 8e0fa7a537..e137fa6929 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/RegularBelongsToEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/RegularBelongsToEffectiveStatement.java @@ -8,21 +8,15 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.belongs_to; import com.google.common.collect.ImmutableList; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements; -final class RegularBelongsToEffectiveStatement extends AbstractBelongsToEffectiveStatement { - private final @NonNull Object substatements; - +final class RegularBelongsToEffectiveStatement extends WithSubstatements + implements BelongsToEffectiveStatement { RegularBelongsToEffectiveStatement(final BelongsToStatement declared, final ImmutableList> substatements) { - super(declared); - this.substatements = maskList(substatements); - } - - @Override - public ImmutableList> effectiveSubstatements() { - return unmaskList(substatements); + super(declared, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/RegularBelongsToStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/RegularBelongsToStatement.java index a3828048d1..cb393fa0b3 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/RegularBelongsToStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/RegularBelongsToStatement.java @@ -8,22 +8,14 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.belongs_to; import com.google.common.collect.ImmutableList; -import java.util.Collection; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument.WithSubstatements; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class RegularBelongsToStatement extends AbstractBelongsToStatement { - private final @NonNull Object substatements; - +final class RegularBelongsToStatement extends WithSubstatements implements BelongsToStatement { RegularBelongsToStatement(final StmtContext context, final ImmutableList> substatements) { - super(context); - this.substatements = maskList(substatements); - } - - @Override - public Collection> declaredSubstatements() { - return unmaskList(substatements); + super(context, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/AbstractConfigEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/AbstractConfigEffectiveStatement.java deleted file mode 100644 index b39ca70d96..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/AbstractConfigEffectiveStatement.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.config; - -import org.opendaylight.yangtools.yang.model.api.stmt.ConfigEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement; - -abstract class AbstractConfigEffectiveStatement - extends AbstractDeclaredEffectiveStatement.DefaultArgument - implements ConfigEffectiveStatement { - AbstractConfigEffectiveStatement(final ConfigStatement declared) { - super(declared); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/AbstractConfigStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/AbstractConfigStatement.java deleted file mode 100644 index 15d0c6563d..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/AbstractConfigStatement.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.config; - -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; -import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractBooleanDeclaredStatement; - -abstract class AbstractConfigStatement extends AbstractBooleanDeclaredStatement implements ConfigStatement { - AbstractConfigStatement(final Boolean argument) { - super(argument); - } - - @Override - public StatementDefinition statementDefinition() { - return YangStmtMapping.CONFIG; - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/EmptyConfigEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/EmptyConfigEffectiveStatement.java index 2691374e95..63b0dd4f97 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/EmptyConfigEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/EmptyConfigEffectiveStatement.java @@ -7,9 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.config; +import org.opendaylight.yangtools.yang.model.api.stmt.ConfigEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument; -final class EmptyConfigEffectiveStatement extends AbstractConfigEffectiveStatement { +final class EmptyConfigEffectiveStatement extends DefaultArgument + implements ConfigEffectiveStatement { EmptyConfigEffectiveStatement(final ConfigStatement declared) { super(declared); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/EmptyConfigStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/EmptyConfigStatement.java index bfec337044..90939977dc 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/EmptyConfigStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/EmptyConfigStatement.java @@ -7,7 +7,10 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.config; -final class EmptyConfigStatement extends AbstractConfigStatement { +import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.ArgumentToString; + +final class EmptyConfigStatement extends ArgumentToString implements ConfigStatement { EmptyConfigStatement(final Boolean argument) { super(argument); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/RegularConfigEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/RegularConfigEffectiveStatement.java index 6209caee11..f46f0d20c8 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/RegularConfigEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/RegularConfigEffectiveStatement.java @@ -8,21 +8,15 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.config; import com.google.common.collect.ImmutableList; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ConfigEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements; -final class RegularConfigEffectiveStatement extends AbstractConfigEffectiveStatement { - private final @NonNull Object substatements; - +final class RegularConfigEffectiveStatement extends WithSubstatements + implements ConfigEffectiveStatement { RegularConfigEffectiveStatement(final ConfigStatement declared, - final ImmutableList> substatements) { - super(declared); - this.substatements = maskList(substatements); - } - - @Override - public ImmutableList> effectiveSubstatements() { - return unmaskList(substatements); + final ImmutableList> substatements) { + super(declared, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/RegularConfigStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/RegularConfigStatement.java index 0f79164346..1518dc2488 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/RegularConfigStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/RegularConfigStatement.java @@ -8,20 +8,12 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.config; import com.google.common.collect.ImmutableList; -import java.util.Collection; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.ArgumentToString.WithSubstatements; -final class RegularConfigStatement extends AbstractConfigStatement { - private final @NonNull Object substatements; - +final class RegularConfigStatement extends WithSubstatements implements ConfigStatement { RegularConfigStatement(final Boolean argument, final ImmutableList> substatements) { - super(argument); - this.substatements = maskList(substatements); - } - - @Override - public Collection> declaredSubstatements() { - return unmaskList(substatements); + super(argument, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/AbstractContactEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/AbstractContactEffectiveStatement.java deleted file mode 100644 index c20a388ad7..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/AbstractContactEffectiveStatement.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.contact; - -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.AbstractDeclaredEffectiveStatement; - -abstract class AbstractContactEffectiveStatement - extends AbstractDeclaredEffectiveStatement.DefaultArgument - implements ContactEffectiveStatement { - AbstractContactEffectiveStatement(final ContactStatement declared) { - super(declared); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/AbstractContactStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/AbstractContactStatement.java deleted file mode 100644 index 6ca681e8bd..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/AbstractContactStatement.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.contact; - -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; -import org.opendaylight.yangtools.yang.model.api.stmt.ContactStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; - -abstract class AbstractContactStatement extends WithRawStringArgument implements ContactStatement { - AbstractContactStatement(final StmtContext context) { - super(context); - } - - @Override - public final StatementDefinition statementDefinition() { - return YangStmtMapping.CONTACT; - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/EmptyContactEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/EmptyContactEffectiveStatement.java index 5f2cc8a045..856a738e2d 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/EmptyContactEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/EmptyContactEffectiveStatement.java @@ -7,9 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.contact; +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.AbstractDeclaredEffectiveStatement.DefaultArgument; -final class EmptyContactEffectiveStatement extends AbstractContactEffectiveStatement { +final class EmptyContactEffectiveStatement extends DefaultArgument + implements ContactEffectiveStatement { EmptyContactEffectiveStatement(final ContactStatement declared) { super(declared); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/EmptyContactStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/EmptyContactStatement.java index 5c8a08d8c4..36aaaf690e 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/EmptyContactStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/EmptyContactStatement.java @@ -7,9 +7,11 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.contact; +import org.opendaylight.yangtools.yang.model.api.stmt.ContactStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class EmptyContactStatement extends AbstractContactStatement { +final class EmptyContactStatement extends WithRawStringArgument implements ContactStatement { EmptyContactStatement(final StmtContext context) { super(context); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/RegularContactEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/RegularContactEffectiveStatement.java index 58c1bd35aa..43a2b57432 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/RegularContactEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/RegularContactEffectiveStatement.java @@ -8,21 +8,15 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.contact; import com.google.common.collect.ImmutableList; -import org.eclipse.jdt.annotation.NonNull; 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.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements; -final class RegularContactEffectiveStatement extends AbstractContactEffectiveStatement { - private final @NonNull Object substatements; - +final class RegularContactEffectiveStatement extends WithSubstatements + implements ContactEffectiveStatement { RegularContactEffectiveStatement(final ContactStatement declared, final ImmutableList> substatements) { - super(declared); - this.substatements = maskList(substatements); - } - - @Override - public ImmutableList> effectiveSubstatements() { - return unmaskList(substatements); + super(declared, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/RegularContactStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/RegularContactStatement.java index d91579c5c4..da44a1c2df 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/RegularContactStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/RegularContactStatement.java @@ -8,22 +8,14 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.contact; import com.google.common.collect.ImmutableList; -import java.util.Collection; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ContactStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument.WithSubstatements; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class RegularContactStatement extends AbstractContactStatement { - private final @NonNull Object substatements; - +final class RegularContactStatement extends WithSubstatements implements ContactStatement { RegularContactStatement(final StmtContext context, final ImmutableList> substatements) { - super(context); - this.substatements = maskList(substatements); - } - - @Override - public Collection> declaredSubstatements() { - return unmaskList(substatements); + super(context, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/AbstractDefaultEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/AbstractDefaultEffectiveStatement.java deleted file mode 100644 index 404d5b63ec..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/AbstractDefaultEffectiveStatement.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.default_; - -import org.opendaylight.yangtools.yang.model.api.stmt.DefaultEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.DefaultStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement; - -abstract class AbstractDefaultEffectiveStatement - extends AbstractDeclaredEffectiveStatement.DefaultArgument - implements DefaultEffectiveStatement { - AbstractDefaultEffectiveStatement(final DefaultStatement declared) { - super(declared); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/AbstractDefaultStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/AbstractDefaultStatement.java deleted file mode 100644 index 17e2ec4ad0..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/AbstractDefaultStatement.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.default_; - -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; -import org.opendaylight.yangtools.yang.model.api.stmt.DefaultStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; - -abstract class AbstractDefaultStatement extends WithRawStringArgument implements DefaultStatement { - AbstractDefaultStatement(final StmtContext context) { - super(context); - } - - @Override - public final StatementDefinition statementDefinition() { - return YangStmtMapping.DEFAULT; - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/EmptyDefaultEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/EmptyDefaultEffectiveStatement.java index fbf15a8d18..64bee8df8d 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/EmptyDefaultEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/EmptyDefaultEffectiveStatement.java @@ -7,9 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.default_; +import org.opendaylight.yangtools.yang.model.api.stmt.DefaultEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DefaultStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument; -final class EmptyDefaultEffectiveStatement extends AbstractDefaultEffectiveStatement { +final class EmptyDefaultEffectiveStatement extends DefaultArgument + implements DefaultEffectiveStatement { EmptyDefaultEffectiveStatement(final DefaultStatement declared) { super(declared); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/EmptyDefaultStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/EmptyDefaultStatement.java index ea09ba75bc..9e8f750feb 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/EmptyDefaultStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/EmptyDefaultStatement.java @@ -7,9 +7,11 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.default_; +import org.opendaylight.yangtools.yang.model.api.stmt.DefaultStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class EmptyDefaultStatement extends AbstractDefaultStatement { +final class EmptyDefaultStatement extends WithRawStringArgument implements DefaultStatement { EmptyDefaultStatement(final StmtContext context) { super(context); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/RegularDefaultEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/RegularDefaultEffectiveStatement.java index 4c41633533..08d47cf49b 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/RegularDefaultEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/RegularDefaultEffectiveStatement.java @@ -8,21 +8,15 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.default_; import com.google.common.collect.ImmutableList; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.DefaultEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DefaultStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements; -final class RegularDefaultEffectiveStatement extends AbstractDefaultEffectiveStatement { - private final @NonNull Object substatements; - +final class RegularDefaultEffectiveStatement extends WithSubstatements + implements DefaultEffectiveStatement { RegularDefaultEffectiveStatement(final DefaultStatement declared, final ImmutableList> substatements) { - super(declared); - this.substatements = maskList(substatements); - } - - @Override - public ImmutableList> effectiveSubstatements() { - return unmaskList(substatements); + super(declared, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/RegularDefaultStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/RegularDefaultStatement.java index a5dadf3be7..02c2917d18 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/RegularDefaultStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/RegularDefaultStatement.java @@ -8,22 +8,14 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.default_; import com.google.common.collect.ImmutableList; -import java.util.Collection; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.DefaultStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument.WithSubstatements; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class RegularDefaultStatement extends AbstractDefaultStatement { - private final @NonNull Object substatements; - +final class RegularDefaultStatement extends WithSubstatements implements DefaultStatement { RegularDefaultStatement(final StmtContext context, final ImmutableList> substatements) { - super(context); - this.substatements = maskList(substatements); - } - - @Override - public Collection> declaredSubstatements() { - return unmaskList(substatements); + super(context, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/AbstractDescriptionEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/AbstractDescriptionEffectiveStatement.java deleted file mode 100644 index f147c5d78d..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/AbstractDescriptionEffectiveStatement.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.description; - -import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement; - -abstract class AbstractDescriptionEffectiveStatement - extends AbstractDeclaredEffectiveStatement.DefaultArgument - implements DescriptionEffectiveStatement { - AbstractDescriptionEffectiveStatement(final DescriptionStatement declared) { - super(declared); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/AbstractDescriptionStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/AbstractDescriptionStatement.java deleted file mode 100644 index 5853b800c7..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/AbstractDescriptionStatement.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.description; - -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; -import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; - -abstract class AbstractDescriptionStatement extends WithRawStringArgument implements DescriptionStatement { - AbstractDescriptionStatement(final StmtContext context) { - super(context); - } - - @Override - public final StatementDefinition statementDefinition() { - return YangStmtMapping.DESCRIPTION; - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/EmptyDescriptionEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/EmptyDescriptionEffectiveStatement.java index 84e65fe101..e841fb0786 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/EmptyDescriptionEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/EmptyDescriptionEffectiveStatement.java @@ -7,9 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.description; +import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument; -final class EmptyDescriptionEffectiveStatement extends AbstractDescriptionEffectiveStatement { +final class EmptyDescriptionEffectiveStatement extends DefaultArgument + implements DescriptionEffectiveStatement { EmptyDescriptionEffectiveStatement(final DescriptionStatement declared) { super(declared); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/EmptyDescriptionStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/EmptyDescriptionStatement.java index d516aac707..a0cc766ae0 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/EmptyDescriptionStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/EmptyDescriptionStatement.java @@ -7,9 +7,11 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.description; +import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class EmptyDescriptionStatement extends AbstractDescriptionStatement { +final class EmptyDescriptionStatement extends WithRawStringArgument implements DescriptionStatement { EmptyDescriptionStatement(final StmtContext context) { super(context); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/RegularDescriptionEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/RegularDescriptionEffectiveStatement.java index b4358c2ed4..604dd0b3ad 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/RegularDescriptionEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/RegularDescriptionEffectiveStatement.java @@ -8,21 +8,15 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.description; import com.google.common.collect.ImmutableList; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements; -final class RegularDescriptionEffectiveStatement extends AbstractDescriptionEffectiveStatement { - private final @NonNull Object substatements; - +final class RegularDescriptionEffectiveStatement extends WithSubstatements + implements DescriptionEffectiveStatement { RegularDescriptionEffectiveStatement(final DescriptionStatement declared, final ImmutableList> substatements) { - super(declared); - this.substatements = maskList(substatements); - } - - @Override - public ImmutableList> effectiveSubstatements() { - return unmaskList(substatements); + super(declared, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/RegularDescriptionStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/RegularDescriptionStatement.java index a8a5c339ba..6cebdf4e6d 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/RegularDescriptionStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/RegularDescriptionStatement.java @@ -8,22 +8,14 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.description; import com.google.common.collect.ImmutableList; -import java.util.Collection; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument.WithSubstatements; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class RegularDescriptionStatement extends AbstractDescriptionStatement { - private final @NonNull Object substatements; - +final class RegularDescriptionStatement extends WithSubstatements implements DescriptionStatement { RegularDescriptionStatement(final StmtContext context, final ImmutableList> substatements) { - super(context); - this.substatements = maskList(substatements); - } - - @Override - public Collection> declaredSubstatements() { - return unmaskList(substatements); + super(context, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/AbstractErrorAppTagEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/AbstractErrorAppTagEffectiveStatement.java deleted file mode 100644 index 01a273c2f2..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/AbstractErrorAppTagEffectiveStatement.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.error_app_tag; - -import org.opendaylight.yangtools.yang.model.api.stmt.ErrorAppTagEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.ErrorAppTagStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement; - -abstract class AbstractErrorAppTagEffectiveStatement - extends AbstractDeclaredEffectiveStatement.DefaultArgument - implements ErrorAppTagEffectiveStatement { - AbstractErrorAppTagEffectiveStatement(final ErrorAppTagStatement declared) { - super(declared); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/AbstractErrorAppTagStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/AbstractErrorAppTagStatement.java deleted file mode 100644 index 52993ec1d6..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/AbstractErrorAppTagStatement.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.error_app_tag; - -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; -import org.opendaylight.yangtools.yang.model.api.stmt.ErrorAppTagStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; - -abstract class AbstractErrorAppTagStatement extends WithRawStringArgument implements ErrorAppTagStatement { - AbstractErrorAppTagStatement(final StmtContext context) { - super(context); - } - - @Override - public final StatementDefinition statementDefinition() { - return YangStmtMapping.ERROR_APP_TAG; - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/EmptyErrorAppTagEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/EmptyErrorAppTagEffectiveStatement.java index 75bee97701..5c136cb962 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/EmptyErrorAppTagEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/EmptyErrorAppTagEffectiveStatement.java @@ -7,9 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.error_app_tag; +import org.opendaylight.yangtools.yang.model.api.stmt.ErrorAppTagEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ErrorAppTagStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument; -final class EmptyErrorAppTagEffectiveStatement extends AbstractErrorAppTagEffectiveStatement { +final class EmptyErrorAppTagEffectiveStatement extends DefaultArgument + implements ErrorAppTagEffectiveStatement { EmptyErrorAppTagEffectiveStatement(final ErrorAppTagStatement declared) { super(declared); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/EmptyErrorAppTagStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/EmptyErrorAppTagStatement.java index 4954725702..6a42a7856c 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/EmptyErrorAppTagStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/EmptyErrorAppTagStatement.java @@ -7,9 +7,11 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.error_app_tag; +import org.opendaylight.yangtools.yang.model.api.stmt.ErrorAppTagStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class EmptyErrorAppTagStatement extends AbstractErrorAppTagStatement { +final class EmptyErrorAppTagStatement extends WithRawStringArgument implements ErrorAppTagStatement { EmptyErrorAppTagStatement(final StmtContext context) { super(context); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/RegularErrorAppTagEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/RegularErrorAppTagEffectiveStatement.java index b0ee0fcdd7..597a615d36 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/RegularErrorAppTagEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/RegularErrorAppTagEffectiveStatement.java @@ -8,21 +8,15 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.error_app_tag; import com.google.common.collect.ImmutableList; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ErrorAppTagEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ErrorAppTagStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements; -final class RegularErrorAppTagEffectiveStatement extends AbstractErrorAppTagEffectiveStatement { - private final @NonNull Object substatements; - +final class RegularErrorAppTagEffectiveStatement extends WithSubstatements + implements ErrorAppTagEffectiveStatement { RegularErrorAppTagEffectiveStatement(final ErrorAppTagStatement declared, final ImmutableList> substatements) { - super(declared); - this.substatements = maskList(substatements); - } - - @Override - public ImmutableList> effectiveSubstatements() { - return unmaskList(substatements); + super(declared, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/RegularErrorAppTagStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/RegularErrorAppTagStatement.java index df2c61aa96..f37ebb1fa5 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/RegularErrorAppTagStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/RegularErrorAppTagStatement.java @@ -8,22 +8,14 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.error_app_tag; import com.google.common.collect.ImmutableList; -import java.util.Collection; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ErrorAppTagStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument.WithSubstatements; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class RegularErrorAppTagStatement extends AbstractErrorAppTagStatement { - private final @NonNull Object substatements; - +final class RegularErrorAppTagStatement extends WithSubstatements implements ErrorAppTagStatement { RegularErrorAppTagStatement(final StmtContext context, final ImmutableList> substatements) { - super(context); - this.substatements = maskList(substatements); - } - - @Override - public Collection> declaredSubstatements() { - return unmaskList(substatements); + super(context, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/AbstractErrorMessageEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/AbstractErrorMessageEffectiveStatement.java deleted file mode 100644 index e7e295d9b5..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/AbstractErrorMessageEffectiveStatement.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.error_message; - -import org.opendaylight.yangtools.yang.model.api.stmt.ErrorMessageEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.ErrorMessageStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement; - -abstract class AbstractErrorMessageEffectiveStatement - extends AbstractDeclaredEffectiveStatement.DefaultArgument - implements ErrorMessageEffectiveStatement { - AbstractErrorMessageEffectiveStatement(final ErrorMessageStatement declared) { - super(declared); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/AbstractErrorMessageStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/AbstractErrorMessageStatement.java deleted file mode 100644 index bb6c50b5ab..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/AbstractErrorMessageStatement.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.error_message; - -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; -import org.opendaylight.yangtools.yang.model.api.stmt.ErrorMessageStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; - -abstract class AbstractErrorMessageStatement extends WithRawStringArgument implements ErrorMessageStatement { - AbstractErrorMessageStatement(final StmtContext context) { - super(context); - } - - @Override - public final StatementDefinition statementDefinition() { - return YangStmtMapping.ERROR_MESSAGE; - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/EmptyErrorMessageEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/EmptyErrorMessageEffectiveStatement.java index 09c2290fd4..1a4087e6af 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/EmptyErrorMessageEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/EmptyErrorMessageEffectiveStatement.java @@ -7,9 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.error_message; +import org.opendaylight.yangtools.yang.model.api.stmt.ErrorMessageEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ErrorMessageStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument; -final class EmptyErrorMessageEffectiveStatement extends AbstractErrorMessageEffectiveStatement { +final class EmptyErrorMessageEffectiveStatement extends DefaultArgument + implements ErrorMessageEffectiveStatement { EmptyErrorMessageEffectiveStatement(final ErrorMessageStatement declared) { super(declared); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/EmptyErrorMessageStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/EmptyErrorMessageStatement.java index 17595df678..d9a6500768 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/EmptyErrorMessageStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/EmptyErrorMessageStatement.java @@ -7,9 +7,11 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.error_message; +import org.opendaylight.yangtools.yang.model.api.stmt.ErrorMessageStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class EmptyErrorMessageStatement extends AbstractErrorMessageStatement { +final class EmptyErrorMessageStatement extends WithRawStringArgument implements ErrorMessageStatement { EmptyErrorMessageStatement(final StmtContext context) { super(context); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/RegularErrorMessageEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/RegularErrorMessageEffectiveStatement.java index 8ce5722e5f..036ad02f82 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/RegularErrorMessageEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/RegularErrorMessageEffectiveStatement.java @@ -8,21 +8,15 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.error_message; import com.google.common.collect.ImmutableList; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ErrorMessageEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ErrorMessageStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements; -final class RegularErrorMessageEffectiveStatement extends AbstractErrorMessageEffectiveStatement { - private final @NonNull Object substatements; - +final class RegularErrorMessageEffectiveStatement extends WithSubstatements + implements ErrorMessageEffectiveStatement { RegularErrorMessageEffectiveStatement(final ErrorMessageStatement declared, final ImmutableList> substatements) { - super(declared); - this.substatements = maskList(substatements); - } - - @Override - public ImmutableList> effectiveSubstatements() { - return unmaskList(substatements); + super(declared, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/RegularErrorMessageStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/RegularErrorMessageStatement.java index c7e64e0831..8d420c7438 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/RegularErrorMessageStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/RegularErrorMessageStatement.java @@ -8,22 +8,14 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.error_message; import com.google.common.collect.ImmutableList; -import java.util.Collection; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ErrorMessageStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument.WithSubstatements; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class RegularErrorMessageStatement extends AbstractErrorMessageStatement { - private final @NonNull Object substatements; - +final class RegularErrorMessageStatement extends WithSubstatements implements ErrorMessageStatement { RegularErrorMessageStatement(final StmtContext context, final ImmutableList> substatements) { - super(context); - this.substatements = maskList(substatements); - } - - @Override - public Collection> declaredSubstatements() { - return unmaskList(substatements); + super(context, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/key/AbstractKeyStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/key/AbstractKeyStatement.java deleted file mode 100644 index d050fa35a3..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/key/AbstractKeyStatement.java +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.key; - -import java.util.Collection; -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; -import org.opendaylight.yangtools.yang.model.api.stmt.KeyStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; - -abstract class AbstractKeyStatement extends AbstractDeclaredStatement.WithArgument> - implements KeyStatement { - AbstractKeyStatement(final StmtContext, ?, ?> context) { - super(context); - } - - @Override - public final StatementDefinition statementDefinition() { - return YangStmtMapping.KEY; - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/key/EmptyKeyStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/key/EmptyKeyStatement.java index b8a0bcfcf3..a6fb7ef94f 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/key/EmptyKeyStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/key/EmptyKeyStatement.java @@ -8,10 +8,12 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.key; import java.util.Collection; +import org.opendaylight.yangtools.yang.model.api.stmt.KeyStatement; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithArgument; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class EmptyKeyStatement extends AbstractKeyStatement { +final class EmptyKeyStatement extends WithArgument> implements KeyStatement { EmptyKeyStatement(final StmtContext, ?, ?> context) { super(context); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/key/RegularKeyStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/key/RegularKeyStatement.java index 0a11920750..60ac9c2f56 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/key/RegularKeyStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/key/RegularKeyStatement.java @@ -11,10 +11,12 @@ import com.google.common.collect.ImmutableList; import java.util.Collection; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.KeyStatement; import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithArgument; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class RegularKeyStatement extends AbstractKeyStatement { +final class RegularKeyStatement extends WithArgument> implements KeyStatement { private final @NonNull Object substatements; RegularKeyStatement(final StmtContext, ?, ?> context, diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/AbstractMandatoryEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/AbstractMandatoryEffectiveStatement.java deleted file mode 100644 index db8d390ce6..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/AbstractMandatoryEffectiveStatement.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.mandatory; - -import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement; - -abstract class AbstractMandatoryEffectiveStatement - extends AbstractDeclaredEffectiveStatement.DefaultArgument - implements MandatoryEffectiveStatement { - AbstractMandatoryEffectiveStatement(final MandatoryStatement declared) { - super(declared); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/AbstractMandatoryStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/AbstractMandatoryStatement.java deleted file mode 100644 index ef4b0802ea..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/AbstractMandatoryStatement.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.mandatory; - -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; -import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractBooleanDeclaredStatement; - -abstract class AbstractMandatoryStatement extends AbstractBooleanDeclaredStatement implements MandatoryStatement { - AbstractMandatoryStatement(final Boolean argument) { - super(argument); - } - - @Override - public StatementDefinition statementDefinition() { - return YangStmtMapping.MANDATORY; - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/EmptyMandatoryEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/EmptyMandatoryEffectiveStatement.java index e79c7b5dc8..ffc205cb43 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/EmptyMandatoryEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/EmptyMandatoryEffectiveStatement.java @@ -7,9 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.mandatory; +import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument; -final class EmptyMandatoryEffectiveStatement extends AbstractMandatoryEffectiveStatement { +final class EmptyMandatoryEffectiveStatement extends DefaultArgument + implements MandatoryEffectiveStatement { EmptyMandatoryEffectiveStatement(final MandatoryStatement declared) { super(declared); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/EmptyMandatoryStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/EmptyMandatoryStatement.java index 2b1d1e92b4..a13667f39a 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/EmptyMandatoryStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/EmptyMandatoryStatement.java @@ -7,7 +7,10 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.mandatory; -final class EmptyMandatoryStatement extends AbstractMandatoryStatement { +import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.ArgumentToString; + +final class EmptyMandatoryStatement extends ArgumentToString implements MandatoryStatement { EmptyMandatoryStatement(final Boolean argument) { super(argument); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/RegularMandatoryEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/RegularMandatoryEffectiveStatement.java index d41bfb99c4..df896dd5a7 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/RegularMandatoryEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/RegularMandatoryEffectiveStatement.java @@ -8,21 +8,15 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.mandatory; import com.google.common.collect.ImmutableList; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements; -final class RegularMandatoryEffectiveStatement extends AbstractMandatoryEffectiveStatement { - private final @NonNull Object substatements; - +final class RegularMandatoryEffectiveStatement extends WithSubstatements + implements MandatoryEffectiveStatement { RegularMandatoryEffectiveStatement(final MandatoryStatement declared, - final ImmutableList> substatements) { - super(declared); - this.substatements = maskList(substatements); - } - - @Override - public ImmutableList> effectiveSubstatements() { - return unmaskList(substatements); + final ImmutableList> substatements) { + super(declared, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/RegularMandatoryStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/RegularMandatoryStatement.java index a63e455f45..00d951c55e 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/RegularMandatoryStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/RegularMandatoryStatement.java @@ -8,21 +8,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.mandatory; import com.google.common.collect.ImmutableList; -import java.util.Collection; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.ArgumentToString.WithSubstatements; -final class RegularMandatoryStatement extends AbstractMandatoryStatement { - private final @NonNull Object substatements; - +final class RegularMandatoryStatement extends WithSubstatements implements MandatoryStatement { RegularMandatoryStatement(final Boolean argument, final ImmutableList> substatements) { - super(argument); - this.substatements = maskList(substatements); - } - - @Override - public Collection> declaredSubstatements() { - return unmaskList(substatements); + super(argument, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/AbstractOrderedByEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/AbstractOrderedByEffectiveStatement.java deleted file mode 100644 index 4d73782bf9..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/AbstractOrderedByEffectiveStatement.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.ordered_by; - -import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement; - -abstract class AbstractOrderedByEffectiveStatement - extends AbstractDeclaredEffectiveStatement.DefaultArgument - implements OrderedByEffectiveStatement { - AbstractOrderedByEffectiveStatement(final OrderedByStatement declared) { - super(declared); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/AbstractOrderedByStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/AbstractOrderedByStatement.java index 1ba1451e41..532017fa2a 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/AbstractOrderedByStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/AbstractOrderedByStatement.java @@ -10,8 +10,6 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.ordered_by; import static java.util.Objects.requireNonNull; import org.eclipse.jdt.annotation.NonNull; -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByStatement; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement; @@ -31,9 +29,4 @@ abstract class AbstractOrderedByStatement extends AbstractDeclaredStatement + implements OrderedByEffectiveStatement { EmptyOrderedByEffectiveStatement(final OrderedByStatement declared) { super(declared); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/RegularOrderedByEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/RegularOrderedByEffectiveStatement.java index 4df0313011..ea01c61900 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/RegularOrderedByEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/RegularOrderedByEffectiveStatement.java @@ -8,21 +8,15 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.ordered_by; import com.google.common.collect.ImmutableList; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements; -final class RegularOrderedByEffectiveStatement extends AbstractOrderedByEffectiveStatement { - private final @NonNull Object substatements; - +final class RegularOrderedByEffectiveStatement extends WithSubstatements + implements OrderedByEffectiveStatement { RegularOrderedByEffectiveStatement(final OrderedByStatement declared, final ImmutableList> substatements) { - super(declared); - this.substatements = maskList(substatements); - } - - @Override - public ImmutableList> effectiveSubstatements() { - return unmaskList(substatements); + super(declared, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/AbstractPositionEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/AbstractPositionEffectiveStatement.java deleted file mode 100644 index 6330443083..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/AbstractPositionEffectiveStatement.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.position; - -import org.opendaylight.yangtools.yang.model.api.stmt.PositionEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.PositionStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement; - -abstract class AbstractPositionEffectiveStatement - extends AbstractDeclaredEffectiveStatement.DefaultArgument - implements PositionEffectiveStatement { - AbstractPositionEffectiveStatement(final PositionStatement declared) { - super(declared); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/AbstractPositionStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/AbstractPositionStatement.java deleted file mode 100644 index d9c0b19b9b..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/AbstractPositionStatement.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.position; - -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; -import org.opendaylight.yangtools.yang.model.api.stmt.PositionStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.ArgumentToString; - -abstract class AbstractPositionStatement extends ArgumentToString implements PositionStatement { - AbstractPositionStatement(final Long argument) { - super(argument); - } - - @Override - public StatementDefinition statementDefinition() { - return YangStmtMapping.POSITION; - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/EmptyPositionEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/EmptyPositionEffectiveStatement.java index c78cfc58eb..188ca1d4cf 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/EmptyPositionEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/EmptyPositionEffectiveStatement.java @@ -7,9 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.position; +import org.opendaylight.yangtools.yang.model.api.stmt.PositionEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PositionStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument; -final class EmptyPositionEffectiveStatement extends AbstractPositionEffectiveStatement { +final class EmptyPositionEffectiveStatement extends DefaultArgument + implements PositionEffectiveStatement { EmptyPositionEffectiveStatement(final PositionStatement declared) { super(declared); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/EmptyPositionStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/EmptyPositionStatement.java index 9c494cb38c..109ab2ae21 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/EmptyPositionStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/EmptyPositionStatement.java @@ -7,7 +7,10 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.position; -final class EmptyPositionStatement extends AbstractPositionStatement { +import org.opendaylight.yangtools.yang.model.api.stmt.PositionStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.ArgumentToString; + +final class EmptyPositionStatement extends ArgumentToString implements PositionStatement { EmptyPositionStatement(final Long argument) { super(argument); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/RegularPositionEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/RegularPositionEffectiveStatement.java index 0ef017eaf6..a3699a7297 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/RegularPositionEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/RegularPositionEffectiveStatement.java @@ -8,21 +8,15 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.position; import com.google.common.collect.ImmutableList; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.PositionEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PositionStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements; -final class RegularPositionEffectiveStatement extends AbstractPositionEffectiveStatement { - private final @NonNull Object substatements; - +final class RegularPositionEffectiveStatement extends WithSubstatements + implements PositionEffectiveStatement { RegularPositionEffectiveStatement(final PositionStatement declared, - final ImmutableList> substatements) { - super(declared); - this.substatements = maskList(substatements); - } - - @Override - public ImmutableList> effectiveSubstatements() { - return unmaskList(substatements); + final ImmutableList> substatements) { + super(declared, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/RegularPositionStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/RegularPositionStatement.java index 84a82c2e14..c396b88ad3 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/RegularPositionStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/RegularPositionStatement.java @@ -8,21 +8,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.position; import com.google.common.collect.ImmutableList; -import java.util.Collection; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.PositionStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.ArgumentToString.WithSubstatements; -final class RegularPositionStatement extends AbstractPositionStatement { - private final @NonNull Object substatements; - +final class RegularPositionStatement extends WithSubstatements implements PositionStatement { RegularPositionStatement(final Long argument, final ImmutableList> substatements) { - super(argument); - this.substatements = maskList(substatements); - } - - @Override - public Collection> declaredSubstatements() { - return unmaskList(substatements); + super(argument, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/AbstractPrefixEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/AbstractPrefixEffectiveStatement.java deleted file mode 100644 index 279ff64b59..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/AbstractPrefixEffectiveStatement.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.prefix; - -import org.opendaylight.yangtools.yang.model.api.stmt.PrefixEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement; - -abstract class AbstractPrefixEffectiveStatement - extends AbstractDeclaredEffectiveStatement.DefaultArgument - implements PrefixEffectiveStatement { - AbstractPrefixEffectiveStatement(final PrefixStatement declared) { - super(declared); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/AbstractPrefixStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/AbstractPrefixStatement.java deleted file mode 100644 index 10d06f0155..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/AbstractPrefixStatement.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.prefix; - -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; -import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; - -abstract class AbstractPrefixStatement extends WithRawStringArgument implements PrefixStatement { - AbstractPrefixStatement(final StmtContext context) { - super(context); - } - - @Override - public final StatementDefinition statementDefinition() { - return YangStmtMapping.PREFIX; - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/EmptyPrefixEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/EmptyPrefixEffectiveStatement.java index 2ea78b3f1c..1516fac7c7 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/EmptyPrefixEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/EmptyPrefixEffectiveStatement.java @@ -7,9 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.prefix; +import org.opendaylight.yangtools.yang.model.api.stmt.PrefixEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument; -final class EmptyPrefixEffectiveStatement extends AbstractPrefixEffectiveStatement { +final class EmptyPrefixEffectiveStatement extends DefaultArgument + implements PrefixEffectiveStatement { EmptyPrefixEffectiveStatement(final PrefixStatement declared) { super(declared); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/EmptyPrefixStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/EmptyPrefixStatement.java index 5f2cb57e4d..1e55f5f651 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/EmptyPrefixStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/EmptyPrefixStatement.java @@ -7,9 +7,11 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.prefix; +import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class EmptyPrefixStatement extends AbstractPrefixStatement { +final class EmptyPrefixStatement extends WithRawStringArgument implements PrefixStatement { EmptyPrefixStatement(final StmtContext context) { super(context); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/RegularPrefixEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/RegularPrefixEffectiveStatement.java index f46769ef27..6e85e92918 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/RegularPrefixEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/RegularPrefixEffectiveStatement.java @@ -8,21 +8,15 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.prefix; import com.google.common.collect.ImmutableList; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.PrefixEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements; -final class RegularPrefixEffectiveStatement extends AbstractPrefixEffectiveStatement { - private final @NonNull Object substatements; - +final class RegularPrefixEffectiveStatement extends WithSubstatements + implements PrefixEffectiveStatement { RegularPrefixEffectiveStatement(final PrefixStatement declared, final ImmutableList> substatements) { - super(declared); - this.substatements = maskList(substatements); - } - - @Override - public ImmutableList> effectiveSubstatements() { - return unmaskList(substatements); + super(declared, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/RegularPrefixStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/RegularPrefixStatement.java index cff0a203a3..bf6cc76784 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/RegularPrefixStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/RegularPrefixStatement.java @@ -8,22 +8,14 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.prefix; import com.google.common.collect.ImmutableList; -import java.util.Collection; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument.WithSubstatements; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class RegularPrefixStatement extends AbstractPrefixStatement { - private final @NonNull Object substatements; - +final class RegularPrefixStatement extends WithSubstatements implements PrefixStatement { RegularPrefixStatement(final StmtContext context, final ImmutableList> substatements) { - super(context); - this.substatements = maskList(substatements); - } - - @Override - public Collection> declaredSubstatements() { - return unmaskList(substatements); + super(context, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/AbstractPresenceEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/AbstractPresenceEffectiveStatement.java deleted file mode 100644 index ff559ad3d6..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/AbstractPresenceEffectiveStatement.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.presence; - -import org.opendaylight.yangtools.yang.model.api.stmt.PresenceEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.PresenceStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement; - -abstract class AbstractPresenceEffectiveStatement - extends AbstractDeclaredEffectiveStatement.DefaultArgument - implements PresenceEffectiveStatement { - AbstractPresenceEffectiveStatement(final PresenceStatement declared) { - super(declared); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/AbstractPresenceStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/AbstractPresenceStatement.java deleted file mode 100644 index 068b7f2d56..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/AbstractPresenceStatement.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.presence; - -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; -import org.opendaylight.yangtools.yang.model.api.stmt.PresenceStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; - -abstract class AbstractPresenceStatement extends WithRawStringArgument implements PresenceStatement { - AbstractPresenceStatement(final StmtContext context) { - super(context); - } - - @Override - public final StatementDefinition statementDefinition() { - return YangStmtMapping.PRESENCE; - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/EmptyPresenceEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/EmptyPresenceEffectiveStatement.java index eaeb1e7196..c3c99f92d4 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/EmptyPresenceEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/EmptyPresenceEffectiveStatement.java @@ -7,9 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.presence; +import org.opendaylight.yangtools.yang.model.api.stmt.PresenceEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PresenceStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument; -final class EmptyPresenceEffectiveStatement extends AbstractPresenceEffectiveStatement { +final class EmptyPresenceEffectiveStatement extends DefaultArgument + implements PresenceEffectiveStatement { EmptyPresenceEffectiveStatement(final PresenceStatement declared) { super(declared); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/EmptyPresenceStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/EmptyPresenceStatement.java index 16e734b337..233df9ebae 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/EmptyPresenceStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/EmptyPresenceStatement.java @@ -7,9 +7,11 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.presence; +import org.opendaylight.yangtools.yang.model.api.stmt.PresenceStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class EmptyPresenceStatement extends AbstractPresenceStatement { +final class EmptyPresenceStatement extends WithRawStringArgument implements PresenceStatement { EmptyPresenceStatement(final StmtContext context) { super(context); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/RegularPresenceEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/RegularPresenceEffectiveStatement.java index d4276392cf..90f85a39e0 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/RegularPresenceEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/RegularPresenceEffectiveStatement.java @@ -8,21 +8,15 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.presence; import com.google.common.collect.ImmutableList; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.PresenceEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PresenceStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements; -final class RegularPresenceEffectiveStatement extends AbstractPresenceEffectiveStatement { - private final @NonNull Object substatements; - +final class RegularPresenceEffectiveStatement extends WithSubstatements + implements PresenceEffectiveStatement { RegularPresenceEffectiveStatement(final PresenceStatement declared, final ImmutableList> substatements) { - super(declared); - this.substatements = maskList(substatements); - } - - @Override - public ImmutableList> effectiveSubstatements() { - return unmaskList(substatements); + super(declared, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/RegularPresenceStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/RegularPresenceStatement.java index e97fc8279f..e3966ce60a 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/RegularPresenceStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/RegularPresenceStatement.java @@ -8,22 +8,14 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.presence; import com.google.common.collect.ImmutableList; -import java.util.Collection; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.PresenceStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument.WithSubstatements; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class RegularPresenceStatement extends AbstractPresenceStatement { - private final @NonNull Object substatements; - +final class RegularPresenceStatement extends WithSubstatements implements PresenceStatement { RegularPresenceStatement(final StmtContext context, final ImmutableList> substatements) { - super(context); - this.substatements = maskList(substatements); - } - - @Override - public Collection> declaredSubstatements() { - return unmaskList(substatements); + super(context, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/AbstractReferenceEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/AbstractReferenceEffectiveStatement.java deleted file mode 100644 index a25c9fbb26..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/AbstractReferenceEffectiveStatement.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.reference; - -import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement; - -abstract class AbstractReferenceEffectiveStatement - extends AbstractDeclaredEffectiveStatement.DefaultArgument - implements ReferenceEffectiveStatement { - AbstractReferenceEffectiveStatement(final ReferenceStatement declared) { - super(declared); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/AbstractReferenceStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/AbstractReferenceStatement.java deleted file mode 100644 index 5f08d05c02..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/AbstractReferenceStatement.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.reference; - -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; -import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; - -abstract class AbstractReferenceStatement extends WithRawStringArgument implements ReferenceStatement { - AbstractReferenceStatement(final StmtContext context) { - super(context); - } - - @Override - public final StatementDefinition statementDefinition() { - return YangStmtMapping.REFERENCE; - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/EmptyReferenceEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/EmptyReferenceEffectiveStatement.java index 95e4385fef..79497670d9 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/EmptyReferenceEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/EmptyReferenceEffectiveStatement.java @@ -7,9 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.reference; +import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument; -final class EmptyReferenceEffectiveStatement extends AbstractReferenceEffectiveStatement { +final class EmptyReferenceEffectiveStatement extends DefaultArgument + implements ReferenceEffectiveStatement { EmptyReferenceEffectiveStatement(final ReferenceStatement declared) { super(declared); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/EmptyReferenceStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/EmptyReferenceStatement.java index 7a762fc94c..ad14da01cb 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/EmptyReferenceStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/EmptyReferenceStatement.java @@ -7,9 +7,11 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.reference; +import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class EmptyReferenceStatement extends AbstractReferenceStatement { +final class EmptyReferenceStatement extends WithRawStringArgument implements ReferenceStatement { EmptyReferenceStatement(final StmtContext context) { super(context); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/RegularReferenceEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/RegularReferenceEffectiveStatement.java index 07f98a9ee8..a7c4ba8379 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/RegularReferenceEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/RegularReferenceEffectiveStatement.java @@ -8,21 +8,15 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.reference; import com.google.common.collect.ImmutableList; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements; -final class RegularReferenceEffectiveStatement extends AbstractReferenceEffectiveStatement { - private final @NonNull Object substatements; - +final class RegularReferenceEffectiveStatement extends WithSubstatements + implements ReferenceEffectiveStatement { RegularReferenceEffectiveStatement(final ReferenceStatement declared, final ImmutableList> substatements) { - super(declared); - this.substatements = maskList(substatements); - } - - @Override - public ImmutableList> effectiveSubstatements() { - return unmaskList(substatements); + super(declared, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/RegularReferenceStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/RegularReferenceStatement.java index e5f874df8a..4c0d936b9c 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/RegularReferenceStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/RegularReferenceStatement.java @@ -8,22 +8,14 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.reference; import com.google.common.collect.ImmutableList; -import java.util.Collection; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument.WithSubstatements; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class RegularReferenceStatement extends AbstractReferenceStatement { - private final @NonNull Object substatements; - +final class RegularReferenceStatement extends WithSubstatements implements ReferenceStatement { RegularReferenceStatement(final StmtContext context, final ImmutableList> substatements) { - super(context); - this.substatements = maskList(substatements); - } - - @Override - public Collection> declaredSubstatements() { - return unmaskList(substatements); + super(context, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/AbstractRequireInstanceEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/AbstractRequireInstanceEffectiveStatement.java deleted file mode 100644 index 2e26aba7db..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/AbstractRequireInstanceEffectiveStatement.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.require_instance; - -import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement; - -abstract class AbstractRequireInstanceEffectiveStatement - extends AbstractDeclaredEffectiveStatement.DefaultArgument - implements RequireInstanceEffectiveStatement { - AbstractRequireInstanceEffectiveStatement(final RequireInstanceStatement declared) { - super(declared); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/AbstractRequireInstanceStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/AbstractRequireInstanceStatement.java deleted file mode 100644 index 00cd1976c7..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/AbstractRequireInstanceStatement.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.require_instance; - -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; -import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractBooleanDeclaredStatement; - -abstract class AbstractRequireInstanceStatement extends AbstractBooleanDeclaredStatement - implements RequireInstanceStatement { - AbstractRequireInstanceStatement(final Boolean argument) { - super(argument); - } - - @Override - public StatementDefinition statementDefinition() { - return YangStmtMapping.REQUIRE_INSTANCE; - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/EmptyRequireInstanceEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/EmptyRequireInstanceEffectiveStatement.java index fe7a6dafe1..65661936e0 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/EmptyRequireInstanceEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/EmptyRequireInstanceEffectiveStatement.java @@ -7,9 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.require_instance; +import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument; -final class EmptyRequireInstanceEffectiveStatement extends AbstractRequireInstanceEffectiveStatement { +final class EmptyRequireInstanceEffectiveStatement extends DefaultArgument + implements RequireInstanceEffectiveStatement { EmptyRequireInstanceEffectiveStatement(final RequireInstanceStatement declared) { super(declared); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/EmptyRequireInstanceStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/EmptyRequireInstanceStatement.java index b4a0ec3c93..94a9a70d71 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/EmptyRequireInstanceStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/EmptyRequireInstanceStatement.java @@ -7,7 +7,10 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.require_instance; -final class EmptyRequireInstanceStatement extends AbstractRequireInstanceStatement { +import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.ArgumentToString; + +final class EmptyRequireInstanceStatement extends ArgumentToString implements RequireInstanceStatement { EmptyRequireInstanceStatement(final Boolean argument) { super(argument); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/RegularRequireInstanceEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/RegularRequireInstanceEffectiveStatement.java index 8694b6c6eb..84acb5c8b8 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/RegularRequireInstanceEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/RegularRequireInstanceEffectiveStatement.java @@ -8,21 +8,15 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.require_instance; import com.google.common.collect.ImmutableList; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements; -final class RegularRequireInstanceEffectiveStatement extends AbstractRequireInstanceEffectiveStatement { - private final @NonNull Object substatements; - +final class RegularRequireInstanceEffectiveStatement extends WithSubstatements + implements RequireInstanceEffectiveStatement { RegularRequireInstanceEffectiveStatement(final RequireInstanceStatement declared, final ImmutableList> substatements) { - super(declared); - this.substatements = maskList(substatements); - } - - @Override - public ImmutableList> effectiveSubstatements() { - return unmaskList(substatements); + super(declared, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/RegularRequireInstanceStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/RegularRequireInstanceStatement.java index ced168209a..3441308724 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/RegularRequireInstanceStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/RegularRequireInstanceStatement.java @@ -8,21 +8,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.require_instance; import com.google.common.collect.ImmutableList; -import java.util.Collection; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.ArgumentToString.WithSubstatements; -final class RegularRequireInstanceStatement extends AbstractRequireInstanceStatement { - private final @NonNull Object substatements; - +final class RegularRequireInstanceStatement extends WithSubstatements implements RequireInstanceStatement { RegularRequireInstanceStatement(final Boolean argument, final ImmutableList> substatements) { - super(argument); - this.substatements = maskList(substatements); - } - - @Override - public Collection> declaredSubstatements() { - return unmaskList(substatements); + super(argument, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/AbstractStatusEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/AbstractStatusEffectiveStatement.java deleted file mode 100644 index 73699632d7..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/AbstractStatusEffectiveStatement.java +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.status; - -import org.opendaylight.yangtools.yang.model.api.Status; -import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.StatusStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement; - -abstract class AbstractStatusEffectiveStatement - extends AbstractDeclaredEffectiveStatement.DefaultArgument - implements StatusEffectiveStatement { - AbstractStatusEffectiveStatement(final StatusStatement declared) { - super(declared); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/AbstractStatusStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/AbstractStatusStatement.java index e5d28fe5fa..750c6bfd2b 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/AbstractStatusStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/AbstractStatusStatement.java @@ -11,8 +11,6 @@ import static java.util.Objects.requireNonNull; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.Status; -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; import org.opendaylight.yangtools.yang.model.api.stmt.StatusStatement; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement; @@ -32,9 +30,4 @@ abstract class AbstractStatusStatement extends AbstractDeclaredStatement public final @NonNull String rawArgument() { return argument.getArgumentString(); } - - @Override - public final StatementDefinition statementDefinition() { - return YangStmtMapping.STATUS; - } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/EmptyStatusEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/EmptyStatusEffectiveStatement.java index c00d665528..99c4a552dd 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/EmptyStatusEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/EmptyStatusEffectiveStatement.java @@ -7,9 +7,13 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.status; +import org.opendaylight.yangtools.yang.model.api.Status; +import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.StatusStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument; -final class EmptyStatusEffectiveStatement extends AbstractStatusEffectiveStatement { +final class EmptyStatusEffectiveStatement extends DefaultArgument + implements StatusEffectiveStatement { EmptyStatusEffectiveStatement(final StatusStatement declared) { super(declared); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/RegularStatusEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/RegularStatusEffectiveStatement.java index afd7cca573..769d9c5672 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/RegularStatusEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/RegularStatusEffectiveStatement.java @@ -8,21 +8,16 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.status; import com.google.common.collect.ImmutableList; -import org.eclipse.jdt.annotation.NonNull; +import org.opendaylight.yangtools.yang.model.api.Status; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.StatusEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.StatusStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements; -final class RegularStatusEffectiveStatement extends AbstractStatusEffectiveStatement { - private final @NonNull Object substatements; - +final class RegularStatusEffectiveStatement extends WithSubstatements + implements StatusEffectiveStatement { RegularStatusEffectiveStatement(final StatusStatement declared, final ImmutableList> substatements) { - super(declared); - this.substatements = maskList(substatements); - } - - @Override - public ImmutableList> effectiveSubstatements() { - return unmaskList(substatements); + super(declared, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/AbstractUnitsEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/AbstractUnitsEffectiveStatement.java deleted file mode 100644 index 9761d53fc4..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/AbstractUnitsEffectiveStatement.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.units; - -import org.opendaylight.yangtools.yang.model.api.stmt.UnitsEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.UnitsStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement; - -abstract class AbstractUnitsEffectiveStatement - extends AbstractDeclaredEffectiveStatement.DefaultArgument - implements UnitsEffectiveStatement { - AbstractUnitsEffectiveStatement(final UnitsStatement declared) { - super(declared); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/AbstractUnitsStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/AbstractUnitsStatement.java deleted file mode 100644 index ec231e7655..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/AbstractUnitsStatement.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.units; - -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; -import org.opendaylight.yangtools.yang.model.api.stmt.UnitsStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; -import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; - -abstract class AbstractUnitsStatement extends WithRawStringArgument implements UnitsStatement { - AbstractUnitsStatement(final StmtContext context) { - super(context); - } - - @Override - public final StatementDefinition statementDefinition() { - return YangStmtMapping.UNITS; - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/EmptyUnitsEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/EmptyUnitsEffectiveStatement.java index d880f4e1c7..5f250fc18b 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/EmptyUnitsEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/EmptyUnitsEffectiveStatement.java @@ -7,9 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.units; +import org.opendaylight.yangtools.yang.model.api.stmt.UnitsEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.UnitsStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument; -final class EmptyUnitsEffectiveStatement extends AbstractUnitsEffectiveStatement { +final class EmptyUnitsEffectiveStatement extends DefaultArgument + implements UnitsEffectiveStatement { EmptyUnitsEffectiveStatement(final UnitsStatement declared) { super(declared); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/EmptyUnitsStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/EmptyUnitsStatement.java index 88630698b8..1b2707ce0e 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/EmptyUnitsStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/EmptyUnitsStatement.java @@ -7,9 +7,11 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.units; +import org.opendaylight.yangtools.yang.model.api.stmt.UnitsStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class EmptyUnitsStatement extends AbstractUnitsStatement { +final class EmptyUnitsStatement extends WithRawStringArgument implements UnitsStatement { EmptyUnitsStatement(final StmtContext context) { super(context); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/RegularUnitsEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/RegularUnitsEffectiveStatement.java index 04901639f2..bd6b25bd8f 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/RegularUnitsEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/RegularUnitsEffectiveStatement.java @@ -8,21 +8,15 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.units; import com.google.common.collect.ImmutableList; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.UnitsEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.UnitsStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements; -final class RegularUnitsEffectiveStatement extends AbstractUnitsEffectiveStatement { - private final @NonNull Object substatements; - +final class RegularUnitsEffectiveStatement extends WithSubstatements + implements UnitsEffectiveStatement { RegularUnitsEffectiveStatement(final UnitsStatement declared, final ImmutableList> substatements) { - super(declared); - this.substatements = maskList(substatements); - } - - @Override - public ImmutableList> effectiveSubstatements() { - return unmaskList(substatements); + super(declared, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/RegularUnitsStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/RegularUnitsStatement.java index a4551146cd..e1785678ce 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/RegularUnitsStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/RegularUnitsStatement.java @@ -8,22 +8,14 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.units; import com.google.common.collect.ImmutableList; -import java.util.Collection; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.UnitsStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.WithRawStringArgument.WithSubstatements; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -final class RegularUnitsStatement extends AbstractUnitsStatement { - private final @NonNull Object substatements; - +final class RegularUnitsStatement extends WithSubstatements implements UnitsStatement { RegularUnitsStatement(final StmtContext context, final ImmutableList> substatements) { - super(context); - this.substatements = maskList(substatements); - } - - @Override - public Collection> declaredSubstatements() { - return unmaskList(substatements); + super(context, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/AbstractValueEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/AbstractValueEffectiveStatement.java deleted file mode 100644 index 147a40bd71..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/AbstractValueEffectiveStatement.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.value; - -import org.opendaylight.yangtools.yang.model.api.stmt.ValueEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.ValueStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement; - -abstract class AbstractValueEffectiveStatement - extends AbstractDeclaredEffectiveStatement.DefaultArgument - implements ValueEffectiveStatement { - AbstractValueEffectiveStatement(final ValueStatement declared) { - super(declared); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/AbstractValueStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/AbstractValueStatement.java deleted file mode 100644 index 63127c13d9..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/AbstractValueStatement.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.value; - -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; -import org.opendaylight.yangtools.yang.model.api.stmt.ValueStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.ArgumentToString; - -abstract class AbstractValueStatement extends ArgumentToString implements ValueStatement { - AbstractValueStatement(final Integer argument) { - super(argument); - } - - @Override - public StatementDefinition statementDefinition() { - return YangStmtMapping.VALUE; - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/EmptyValueEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/EmptyValueEffectiveStatement.java index 6ae9f375e7..53e099760d 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/EmptyValueEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/EmptyValueEffectiveStatement.java @@ -7,9 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.value; +import org.opendaylight.yangtools.yang.model.api.stmt.ValueEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ValueStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument; -final class EmptyValueEffectiveStatement extends AbstractValueEffectiveStatement { +final class EmptyValueEffectiveStatement extends DefaultArgument + implements ValueEffectiveStatement { EmptyValueEffectiveStatement(final ValueStatement declared) { super(declared); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/EmptyValueStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/EmptyValueStatement.java index 355841b07f..b42ebd7988 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/EmptyValueStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/EmptyValueStatement.java @@ -7,7 +7,10 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.value; -final class EmptyValueStatement extends AbstractValueStatement { +import org.opendaylight.yangtools.yang.model.api.stmt.ValueStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.ArgumentToString; + +final class EmptyValueStatement extends ArgumentToString implements ValueStatement { EmptyValueStatement(final Integer argument) { super(argument); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/RegularValueEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/RegularValueEffectiveStatement.java index 7df8456480..d4ef1c8cee 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/RegularValueEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/RegularValueEffectiveStatement.java @@ -8,21 +8,15 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.value; import com.google.common.collect.ImmutableList; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ValueEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ValueStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements; -final class RegularValueEffectiveStatement extends AbstractValueEffectiveStatement { - private final @NonNull Object substatements; - +final class RegularValueEffectiveStatement extends WithSubstatements + implements ValueEffectiveStatement { RegularValueEffectiveStatement(final ValueStatement declared, - final ImmutableList> substatements) { - super(declared); - this.substatements = maskList(substatements); - } - - @Override - public ImmutableList> effectiveSubstatements() { - return unmaskList(substatements); + final ImmutableList> substatements) { + super(declared, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/RegularValueStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/RegularValueStatement.java index f29569fccc..75a62b0858 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/RegularValueStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/RegularValueStatement.java @@ -8,21 +8,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.value; import com.google.common.collect.ImmutableList; -import java.util.Collection; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.ValueStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.ArgumentToString.WithSubstatements; -final class RegularValueStatement extends AbstractValueStatement { - private final @NonNull Object substatements; - +final class RegularValueStatement extends WithSubstatements implements ValueStatement { RegularValueStatement(final Integer argument, final ImmutableList> substatements) { - super(argument); - this.substatements = maskList(substatements); - } - - @Override - public Collection> declaredSubstatements() { - return unmaskList(substatements); + super(argument, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/AbstractYinElementEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/AbstractYinElementEffectiveStatement.java deleted file mode 100644 index 5e1df47b12..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/AbstractYinElementEffectiveStatement.java +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.yin_element; - -import org.opendaylight.yangtools.yang.model.api.stmt.YinElementEffectiveStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.YinElementStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement; - -abstract class AbstractYinElementEffectiveStatement - extends AbstractDeclaredEffectiveStatement.DefaultArgument - implements YinElementEffectiveStatement { - AbstractYinElementEffectiveStatement(final YinElementStatement declared) { - super(declared); - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/AbstractYinElementStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/AbstractYinElementStatement.java deleted file mode 100644 index d1dda50124..0000000000 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/AbstractYinElementStatement.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2020 PANTHEON.tech, s.r.o. and others. All rights reserved. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License v1.0 which accompanies this distribution, - * and is available at http://www.eclipse.org/legal/epl-v10.html - */ -package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.yin_element; - -import org.opendaylight.yangtools.yang.model.api.YangStmtMapping; -import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition; -import org.opendaylight.yangtools.yang.model.api.stmt.YinElementStatement; -import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractBooleanDeclaredStatement; - -abstract class AbstractYinElementStatement extends AbstractBooleanDeclaredStatement implements YinElementStatement { - AbstractYinElementStatement(final Boolean argument) { - super(argument); - } - - @Override - public StatementDefinition statementDefinition() { - return YangStmtMapping.YIN_ELEMENT; - } -} diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/EmptyYinElementEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/EmptyYinElementEffectiveStatement.java index abd9794aa2..3186bf0068 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/EmptyYinElementEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/EmptyYinElementEffectiveStatement.java @@ -7,9 +7,12 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.yin_element; +import org.opendaylight.yangtools.yang.model.api.stmt.YinElementEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.YinElementStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument; -final class EmptyYinElementEffectiveStatement extends AbstractYinElementEffectiveStatement { +final class EmptyYinElementEffectiveStatement extends DefaultArgument + implements YinElementEffectiveStatement { EmptyYinElementEffectiveStatement(final YinElementStatement declared) { super(declared); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/EmptyYinElementStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/EmptyYinElementStatement.java index 76de8ca5df..a2e6675a5f 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/EmptyYinElementStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/EmptyYinElementStatement.java @@ -7,7 +7,10 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.yin_element; -final class EmptyYinElementStatement extends AbstractYinElementStatement { +import org.opendaylight.yangtools.yang.model.api.stmt.YinElementStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.ArgumentToString; + +final class EmptyYinElementStatement extends ArgumentToString implements YinElementStatement { EmptyYinElementStatement(final Boolean argument) { super(argument); } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/RegularYinElementEffectiveStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/RegularYinElementEffectiveStatement.java index 7ffc12ca5a..ce9e79aa12 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/RegularYinElementEffectiveStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/RegularYinElementEffectiveStatement.java @@ -8,21 +8,15 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.yin_element; import com.google.common.collect.ImmutableList; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.YinElementEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.YinElementStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements; -final class RegularYinElementEffectiveStatement extends AbstractYinElementEffectiveStatement { - private final @NonNull Object substatements; - +final class RegularYinElementEffectiveStatement extends WithSubstatements + implements YinElementEffectiveStatement { RegularYinElementEffectiveStatement(final YinElementStatement declared, final ImmutableList> substatements) { - super(declared); - this.substatements = maskList(substatements); - } - - @Override - public ImmutableList> effectiveSubstatements() { - return unmaskList(substatements); + super(declared, substatements); } } diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/RegularYinElementStatement.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/RegularYinElementStatement.java index e612c26810..95dae97c5d 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/RegularYinElementStatement.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/RegularYinElementStatement.java @@ -8,21 +8,13 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.yin_element; import com.google.common.collect.ImmutableList; -import java.util.Collection; -import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement; +import org.opendaylight.yangtools.yang.model.api.stmt.YinElementStatement; +import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredStatement.ArgumentToString.WithSubstatements; -final class RegularYinElementStatement extends AbstractYinElementStatement { - private final @NonNull Object substatements; - +final class RegularYinElementStatement extends WithSubstatements implements YinElementStatement { RegularYinElementStatement(final Boolean argument, final ImmutableList> substatements) { - super(argument); - this.substatements = maskList(substatements); - } - - @Override - public Collection> declaredSubstatements() { - return unmaskList(substatements); + super(argument, substatements); } } -- 2.36.6