Add default statementDefinition() methods 95/87295/1
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 28 Jan 2020 20:49:42 +0000 (21:49 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Thu, 30 Jan 2020 10:44:04 +0000 (11:44 +0100)
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 <robert.varga@pantheon.tech>
(cherry picked from commit 98948981ae99dd0a8366908c7448b5b7de0584d3)
(cherry picked from commit 4ba56f39dc90569c2600bbb7ea213b17b6b40461)

152 files changed:
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BelongsToEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/BelongsToStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ConfigEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ConfigStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContactEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContactStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ContainerEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DefaultEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DefaultStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DescriptionEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/DescriptionStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorAppTagEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorAppTagStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorMessageEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ErrorMessageStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/KeyEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/KeyStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LeafEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/LeafListEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ListEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/MandatoryStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrderedByEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/OrderedByStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PositionEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PositionStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PrefixEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PrefixStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PresenceEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/PresenceStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ReferenceEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ReferenceStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RequireInstanceEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/RequireInstanceStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/StatusEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/StatusStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnitsEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/UnitsStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ValueEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/ValueStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/YinElementEffectiveStatement.java
yang/yang-model-api/src/main/java/org/opendaylight/yangtools/yang/model/api/stmt/YinElementStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractBooleanDeclaredStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractDeclaredEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractDeclaredStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/AbstractBelongsToEffectiveStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/AbstractBelongsToStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/EmptyBelongsToEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/EmptyBelongsToStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/RegularBelongsToEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/belongs_to/RegularBelongsToStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/AbstractConfigEffectiveStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/AbstractConfigStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/EmptyConfigEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/EmptyConfigStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/RegularConfigEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/config/RegularConfigStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/AbstractContactEffectiveStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/AbstractContactStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/EmptyContactEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/EmptyContactStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/RegularContactEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/contact/RegularContactStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/AbstractDefaultEffectiveStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/AbstractDefaultStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/EmptyDefaultEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/EmptyDefaultStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/RegularDefaultEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/default_/RegularDefaultStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/AbstractDescriptionEffectiveStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/AbstractDescriptionStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/EmptyDescriptionEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/EmptyDescriptionStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/RegularDescriptionEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/description/RegularDescriptionStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/AbstractErrorAppTagEffectiveStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/AbstractErrorAppTagStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/EmptyErrorAppTagEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/EmptyErrorAppTagStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/RegularErrorAppTagEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_app_tag/RegularErrorAppTagStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/AbstractErrorMessageEffectiveStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/AbstractErrorMessageStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/EmptyErrorMessageEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/EmptyErrorMessageStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/RegularErrorMessageEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/error_message/RegularErrorMessageStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/key/AbstractKeyStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/key/EmptyKeyStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/key/RegularKeyStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/AbstractMandatoryEffectiveStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/AbstractMandatoryStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/EmptyMandatoryEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/EmptyMandatoryStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/RegularMandatoryEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/mandatory/RegularMandatoryStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/AbstractOrderedByEffectiveStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/AbstractOrderedByStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/EmptyOrderedByEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/ordered_by/RegularOrderedByEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/AbstractPositionEffectiveStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/AbstractPositionStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/EmptyPositionEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/EmptyPositionStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/RegularPositionEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/position/RegularPositionStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/AbstractPrefixEffectiveStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/AbstractPrefixStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/EmptyPrefixEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/EmptyPrefixStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/RegularPrefixEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/prefix/RegularPrefixStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/AbstractPresenceEffectiveStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/AbstractPresenceStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/EmptyPresenceEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/EmptyPresenceStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/RegularPresenceEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/presence/RegularPresenceStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/AbstractReferenceEffectiveStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/AbstractReferenceStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/EmptyReferenceEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/EmptyReferenceStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/RegularReferenceEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/reference/RegularReferenceStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/AbstractRequireInstanceEffectiveStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/AbstractRequireInstanceStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/EmptyRequireInstanceEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/EmptyRequireInstanceStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/RegularRequireInstanceEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/require_instance/RegularRequireInstanceStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/AbstractStatusEffectiveStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/AbstractStatusStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/EmptyStatusEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/status/RegularStatusEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/AbstractUnitsEffectiveStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/AbstractUnitsStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/EmptyUnitsEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/EmptyUnitsStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/RegularUnitsEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/units/RegularUnitsStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/AbstractValueEffectiveStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/AbstractValueStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/EmptyValueEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/EmptyValueStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/RegularValueEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/value/RegularValueStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/AbstractYinElementEffectiveStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/AbstractYinElementStatement.java [deleted file]
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/EmptyYinElementEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/EmptyYinElementStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/RegularYinElementEffectiveStatement.java
yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/yin_element/RegularYinElementStatement.java

index 0a8c1921f7cdd1b4ff8427fdda46a50cdcc5b136..c6ef4f40f323a1bed97eda4aa0278a341ac797e3 100644 (file)
@@ -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<String, BelongsToStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.BELONGS_TO;
+    }
 }
index 67f53ee9782ec44b24687824f9b076b9d989ec50..073bab840ad519c98444582d54d4433d16b5d357 100644 (file)
@@ -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<String> {
+    @Override
+    default StatementDefinition statementDefinition() {
+        return YangStmtMapping.BELONGS_TO;
+    }
+
     default @NonNull String getModule() {
         // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here
         return verifyNotNull(argument());
index cc372e88e7e1e6139f4e9070b133cfbf780a7703..7a79433c6b2f2c9fe45c093aea02735010af6171 100644 (file)
@@ -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<Boolean, ConfigStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.CONFIG;
+    }
 }
index 2590cb59597ad6b6171ffb7848134b04a185f66e..2199f626885bd8ec1430fcf544f7706377d3c967 100644 (file)
@@ -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<Boolean> {
+    @Override
+    default StatementDefinition statementDefinition() {
+        return YangStmtMapping.CONFIG;
+    }
+
     default boolean getValue() {
         return argument().booleanValue();
     }
index 193110c1ca940184ba13366c5b34df2583704d83..e8b684ec51fa7648409bfe54ce6e7a5481524bb4 100644 (file)
@@ -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<String, ContactStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.CONTACT;
+    }
 }
index e511fcec9f8d9c7c88ac8a9e642d26f72f9ac7f2..9a320f7bf09ca0a3fd0a655786358be119e3026e 100644 (file)
@@ -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<String> {
+    @Override
+    default StatementDefinition statementDefinition() {
+        return YangStmtMapping.CONTACT;
+    }
+
     default @NonNull String getText() {
         // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here
         return verifyNotNull(rawArgument());
index 75800b746a8fb868d1bcbf7879033ab7607a14c1..82bd87e1d6a5bea580df1c36a91005d4fc94fdb6 100644 (file)
@@ -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<ContainerStatement>,
-     DataTreeAwareEffectiveStatement<QName, ContainerStatement> {
-
+        DataTreeAwareEffectiveStatement<QName, ContainerStatement> {
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.CONTAINER;
+    }
 }
index b6058589fa8d542818d0addafe6ebe97904e0b4a..1de26422da231af851964c9874b9502ef74e94ce 100644 (file)
@@ -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<String, DefaultStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.DEFAULT;
+    }
 }
index 6b325b106a82dce86e498d9513934a75677eae1c..d90bd75dd0256d075bf8b981e00349821af2bfb2 100644 (file)
@@ -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<String> {
+    @Override
+    default StatementDefinition statementDefinition() {
+        return YangStmtMapping.DEFAULT;
+    }
+
     default @NonNull String getValue() {
         // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here
         return verifyNotNull(argument());
index 9ab39755ea74263fae75ea6811d2e55167a37bd9..1228e6a4b18c485b80843de8574ffe5e9931adbf 100644 (file)
@@ -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<String, DescriptionStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.DESCRIPTION;
+    }
 }
index 80f9d07ac2dcb70314a277bc7fa646dc03334c86..611cd4e0c93c5787c63b743536a18f1c61103bb8 100644 (file)
@@ -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<String> {
+    @Override
+    default StatementDefinition statementDefinition() {
+        return YangStmtMapping.DESCRIPTION;
+    }
+
     default @NonNull String getText() {
         // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here
         return verifyNotNull(argument());
index 162bd9126e3d32213a8df22f29ee4c5fdd247d05..0a1911318512146161e7f807bd908c5245426a1e 100644 (file)
@@ -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<String, ErrorAppTagStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.ERROR_APP_TAG;
+    }
 }
index 0d33c9e6539094e4204a9086ded3cfab15cf22c8..23dca9fcb567724fbc19131843a32e29181c4ded 100644 (file)
@@ -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<String> {
+    @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());
index 6c0d99b7b97c1a2f6e8e0f51ab1e417640b2cbd1..8aabdab2595979738f72d812bd2629f60a9cb4d1 100644 (file)
@@ -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<String, ErrorMessageStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.ERROR_MESSAGE;
+    }
 }
index d07b41ea8ce9509b0311fe55142961f051a477ec..fd49abcae22d22231557b780c7772538841efc73 100644 (file)
@@ -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<String> {
+    @Override
+    default StatementDefinition statementDefinition() {
+        return YangStmtMapping.ERROR_MESSAGE;
+    }
+
     default @NonNull String getValue() {
         // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here
         return verifyNotNull(argument());
index d14293eaa43dadcf0bda1c7a5f98b6a26a57ad0c..7be8266801303105cf18e21beaa1ce65f1962b51 100644 (file)
@@ -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<Collection<SchemaNodeIdentifier>, KeyStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.KEY;
+    }
 }
index e015604600aa1545b66d40965657e2d5dbb12f78..dd0e49b8671d2595dc2c2b79be83f805413531a0 100644 (file)
@@ -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<Collection<SchemaNodeIdentifier>> {
-
+    @Override
+    default StatementDefinition statementDefinition() {
+        return YangStmtMapping.KEY;
+    }
 }
-
index 5bd3b93b2087bc9d8280c2611fa8641b91b80c93..6245b41154ac4f80713ba6e8f57e6e4ec4fa8d89 100644 (file)
@@ -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<LeafStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.LEAF;
+    }
 }
index 2ad962261bc0e7fea5d6cf06ddbbb774818dcb59..27bf292efde9a2303c885dd583a99cd728cb613e 100644 (file)
@@ -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<LeafListStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.LEAF_LIST;
+    }
 }
index 5dbf4bafaec2d0e6b4c19413d9f71023e69a30ce..eb717ac896dfeef82a1a8d3a339da5f215424041 100644 (file)
@@ -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<ListStatement>,
-    DataTreeAwareEffectiveStatement<QName, ListStatement> {
-
+        DataTreeAwareEffectiveStatement<QName, ListStatement> {
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.LIST;
+    }
 }
index 7578295a705f650a0fafa8bc76ff24b0f3872000..fe7770a178cb5270fb61b7e6ec1335940ba742cb 100644 (file)
@@ -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<Boolean, MandatoryStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.MANDATORY;
+    }
 }
index fca875ddda5b5f3897620cf2e0350cf8403fba7b..00b340afbbe223ef8c388159e40cc6651340fee5 100644 (file)
@@ -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<Boolean> {
+    @Override
+    default StatementDefinition statementDefinition() {
+        return YangStmtMapping.MANDATORY;
+    }
+
     default @NonNull Boolean getValue() {
         // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here
         return verifyNotNull(argument());
index 724e272b90b32cf93337a6b25c2e86a06a82da14..4335e2f65279c54a1277c2b6b857b9dbfe0fecc6 100644 (file)
@@ -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<String, OrderedByStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.ORDERED_BY;
+    }
 }
index 554f2159d44ef7ab226914b6e1bcee0573744a69..b9d67a254f66b68934cdfbf5535b795bc65f1019 100644 (file)
@@ -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<String> {
+    @Override
+    default StatementDefinition statementDefinition() {
+        return YangStmtMapping.ORDERED_BY;
+    }
+
     default @NonNull String getValue() {
         // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here
         return verifyNotNull(argument());
index 56e41465c56eaeec461eb86ef11c56629982f963..c240295cb53051e5affd487d97026a5190a5fcc8 100644 (file)
@@ -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<Long, PositionStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.POSITION;
+    }
 }
index e5a732cef43a4487f5faf88316f596fd25073a6f..81e75d6af7f6cb50c6abb5f2daef32776989d5f3 100644 (file)
@@ -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<Long> {
+    @Override
+    default StatementDefinition statementDefinition() {
+        return YangStmtMapping.POSITION;
+    }
+
     default long getValue() {
         return argument().longValue();
     }
index a846f6e199dfedd412d5b7943ddb0fbb0c090f92..b67acf76684912b84c9dec85124734117ed23a0d 100644 (file)
@@ -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<String, PrefixStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.PREFIX;
+    }
 }
index 44354e05cba1d3f2105c23572bfc141c2bfb96fd..96a3c201b5b41ce5423f47c3c3a9611678a0e9bb 100644 (file)
@@ -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<String> {
+    @Override
+    default StatementDefinition statementDefinition() {
+        return YangStmtMapping.PREFIX;
+    }
+
     default @NonNull String getValue() {
         // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here
         return verifyNotNull(rawArgument());
index f23a94717c81a8dea9e84f8078f13990f2c84fd3..101a445f25d11c576d046d73521c9d8bbd9ab235 100644 (file)
@@ -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<String, PresenceStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.PRESENCE;
+    }
 }
index c570225b73b6f45a1c24e2a18e3593ed2ef6d66a..fa2ad2143e7952b179d346a9cdc99f7b970010f0 100644 (file)
@@ -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<String> {
+    @Override
+    default StatementDefinition statementDefinition() {
+        return YangStmtMapping.PRESENCE;
+    }
+
     default @NonNull String getValue() {
         // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here
         return verifyNotNull(argument());
index 77bbd09a7681fe728d76795da070997b41f9d386..87c4346ed3a9c935185d563b47f560cd1e04307d 100644 (file)
@@ -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<String, ReferenceStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.REFERENCE;
+    }
 }
index e5341c8eec950a8e719380e439c1d473a93fbc70..1e2d0c312abc788a1b882c5ade979669ff3ac497 100644 (file)
@@ -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<String> {
+    @Override
+    default StatementDefinition statementDefinition() {
+        return YangStmtMapping.REFERENCE;
+    }
+
     default @NonNull String getText() {
         // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here
         return verifyNotNull(rawArgument());
index 3702bd11af66037066dda4455b4d0d549d8becac..fb79167ca5b1a168494a5bef32feecc0ea2189fa 100644 (file)
@@ -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<Boolean, RequireInstanceStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.REQUIRE_INSTANCE;
+    }
 }
index 3614b325fb694792c5c96f63b71a31cbb4c3eb47..186ab5ddb9dbe832bc564dde5def0f48a8f927ef 100644 (file)
@@ -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<Boolean> {
+    @Override
+    default StatementDefinition statementDefinition() {
+        return YangStmtMapping.REQUIRE_INSTANCE;
+    }
+
     default boolean getValue() {
         return argument().booleanValue();
     }
index c139fb724919324121bf1066fbc6b60c6fd35d1b..c5ce5f1d6918f0aba9129049a7b70d66794ab69e 100644 (file)
@@ -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<Status, StatusStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.STATUS;
+    }
 }
index ee1dfbf773324876934cd008e71bfdac99850d4d..31fb566fce8aacd906ad4da6c6e35a218f9a89a8 100644 (file)
@@ -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<Status> {
+    @Override
+    default StatementDefinition statementDefinition() {
+        return YangStmtMapping.STATUS;
+    }
+
     default @NonNull Status getValue() {
         // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here
         return verifyNotNull(argument());
index 358f67834bb8624b72731fc21c7e6ffac26c0eb6..2d088ffa939c0e42899c8f43e663a6d151e616ad 100644 (file)
@@ -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<String, UnitsStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.UNITS;
+    }
 }
index 127481acbeda6bf56a840fb9c9a5b0bb9d576114..4aee8c9347d19cf7be1b7d1e0a7555cd46159fe8 100644 (file)
@@ -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<String> {
+    @Override
+    default StatementDefinition statementDefinition() {
+        return YangStmtMapping.UNITS;
+    }
+
     default @NonNull String getName() {
         // FIXME: YANGTOOLS-908: verifyNotNull() should not be needed here
         return verifyNotNull(argument());
index dc4df6f6bb838e1a15eb4a0371bec8e4096c65f9..00640f29dc2a36814d93f3b63bf951392b25cdfa 100644 (file)
@@ -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<Integer, ValueStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.VALUE;
+    }
 }
index a3037bbf87451b21b73b0296ebf0e2bcaa9ecaf2..36f72568636d099e834e74028adee14d2501a8a2 100644 (file)
@@ -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<Integer> {
+    @Override
+    default StatementDefinition statementDefinition() {
+        return YangStmtMapping.VALUE;
+    }
+
     default int getValue() {
         return argument().intValue();
     }
index 20633d0d4d464473992448ce3d738e4d1f9c55c6..c91c92d58cb393dee55010b3801493884a1e1930 100644 (file)
@@ -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<Boolean, YinElementStatement> {
-
+    @Override
+    default  StatementDefinition statementDefinition() {
+        return YangStmtMapping.YIN_ELEMENT;
+    }
 }
index 9895e946c16c6100db5060b03c9c575fa3d0a266..883e92c18e2e23f2c5312a8ad69acf99c4a52dbf 100644 (file)
@@ -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<Boolean> {
+    @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 (file)
index ea79c5f..0000000
+++ /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<Boolean> {
-    protected AbstractBooleanDeclaredStatement(final Boolean argument) {
-        super(argument);
-    }
-}
index 95341eeb27138e454d71bc1aac39609b6f66358a..fe88538bf05baa5db1778db47e8dc8185705df4f 100644 (file)
@@ -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<A, D extends DeclaredSt
         return StatementSource.DECLARATION;
     }
 
-    @Override
-    public final StatementDefinition statementDefinition() {
-        return getDeclared().statementDefinition();
-    }
-
     @Override
     public abstract @NonNull D getDeclared();
 
@@ -147,6 +141,22 @@ public abstract class AbstractDeclaredEffectiveStatement<A, D extends DeclaredSt
      * @param <D> Class representing declared version of this statement.
      */
     public abstract static class DefaultArgument<A, D extends DeclaredStatement<A>> extends Default<A, D> {
+        public abstract static class WithSubstatements<A, D extends DeclaredStatement<A>>
+                extends DefaultArgument<A, D> {
+            private final @NonNull Object substatements;
+
+            protected WithSubstatements(final D declared,
+                    final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
+                super(declared);
+                this.substatements = maskList(substatements);
+            }
+
+            @Override
+            public final ImmutableList<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
+                return unmaskList(substatements);
+            }
+        }
+
         protected DefaultArgument(final D declared) {
             super(declared);
         }
index a457fb81cd6f06c82bc148bcbe0f8834dd63c668..1e7833db51c3811a530cd1e0c93b310169f2a361 100644 (file)
@@ -66,6 +66,21 @@ public abstract class AbstractDeclaredStatement<A> extends AbstractModelStatemen
     }
 
     public abstract static class WithRawStringArgument extends WithRawArgument<String> {
+        public abstract static class WithSubstatements extends WithRawStringArgument {
+            private final @NonNull Object substatements;
+
+            protected WithSubstatements(final StmtContext<String, ?, ?> context,
+                    final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+                super(context);
+                this.substatements = maskList(substatements);
+            }
+
+            @Override
+            public final Collection<? extends DeclaredStatement<?>> declaredSubstatements() {
+                return unmaskList(substatements);
+            }
+        }
+
         protected WithRawStringArgument(final StmtContext<String, ?, ?> context) {
             super(context);
         }
@@ -91,6 +106,21 @@ public abstract class AbstractDeclaredStatement<A> extends AbstractModelStatemen
     }
 
     public abstract static class ArgumentToString<A> extends AbstractDeclaredStatement<A> {
+        public abstract static class WithSubstatements<A> extends ArgumentToString<A> {
+            private final @NonNull Object substatements;
+
+            protected WithSubstatements(final A argument,
+                    final ImmutableList<? extends DeclaredStatement<?>> substatements) {
+                super(argument);
+                this.substatements = maskList(substatements);
+            }
+
+            @Override
+            public final Collection<? extends DeclaredStatement<?>> 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 (file)
index f35735a..0000000
+++ /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<String, BelongsToStatement>
-        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 (file)
index 1f475dc..0000000
+++ /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<String, ?, ?> context) {
-        super(context);
-    }
-
-    @Override
-    public final StatementDefinition statementDefinition() {
-        return YangStmtMapping.BELONGS_TO;
-    }
-}
index 7274d86f6ea2b2bfbdddbf333b89a1468117984c..628c8e346b232f8576271d7d39f9e8416468e1c0 100644 (file)
@@ -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<String, BelongsToStatement>
+        implements BelongsToEffectiveStatement {
     EmptyBelongsToEffectiveStatement(final BelongsToStatement declared) {
         super(declared);
     }
index 11d12cf9c6e431e0c16b146eafd364c8983792c1..9e8718a70fb933be0ef47dc41519f1f4651de99d 100644 (file)
@@ -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<String, ?, ?> context) {
         super(context);
     }
index 8e0fa7a53767c1353ed4d8657bf1b557f3ea24e5..e137fa6929a410524b163ff08a29f2b2914e3533 100644 (file)
@@ -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<String, BelongsToStatement>
+        implements BelongsToEffectiveStatement {
     RegularBelongsToEffectiveStatement(final BelongsToStatement declared,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        super(declared);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public ImmutableList<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return unmaskList(substatements);
+        super(declared, substatements);
     }
 }
index a3828048d1790b91e064cb7b0cdd1eec4925dfda..cb393fa0b349f38607ba1c63fda0600dddc30fe1 100644 (file)
@@ -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<String, ?, ?> context,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        super(context);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public Collection<? extends DeclaredStatement<?>> 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 (file)
index b39ca70..0000000
+++ /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<Boolean, ConfigStatement>
-        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 (file)
index 15d0c65..0000000
+++ /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;
-    }
-}
index 2691374e951e8bac5993a0be729f3fde2ee05448..63b0dd4f978addddb671aeaf018b9f95c0cb8f69 100644 (file)
@@ -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<Boolean, ConfigStatement>
+        implements ConfigEffectiveStatement {
     EmptyConfigEffectiveStatement(final ConfigStatement declared) {
         super(declared);
     }
index bfec337044f68c05fe128cce8d089dce0010e34c..90939977dc5e26d00b2e96a918a878b8b8443ccf 100644 (file)
@@ -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<Boolean> implements ConfigStatement {
     EmptyConfigStatement(final Boolean argument) {
         super(argument);
     }
index 6209caee11d02753202e4236556c506ce9c316e6..f46f0d20c8da34edbd6144cf0f1f7b485a2c56e2 100644 (file)
@@ -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<Boolean, ConfigStatement>
+        implements ConfigEffectiveStatement {
     RegularConfigEffectiveStatement(final ConfigStatement declared,
-        final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        super(declared);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public ImmutableList<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return unmaskList(substatements);
+            final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
+        super(declared, substatements);
     }
 }
index 0f79164346a6142299be6abf054f5df28b33a8dd..1518dc248866bf71d00ce633ed26fa1e17ca93ff 100644 (file)
@@ -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<Boolean> implements ConfigStatement {
     RegularConfigStatement(final Boolean argument, final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        super(argument);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public Collection<? extends DeclaredStatement<?>> 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 (file)
index c20a388..0000000
+++ /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<String, ContactStatement>
-        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 (file)
index 6ca681e..0000000
+++ /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<String, ?, ?> context) {
-        super(context);
-    }
-
-    @Override
-    public final StatementDefinition statementDefinition() {
-        return YangStmtMapping.CONTACT;
-    }
-}
index 5f2cc8a04513912ead9741c105064b01258ed885..856a738e2d51a7094828a16463798e64d0af2397 100644 (file)
@@ -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<String, ContactStatement>
+        implements ContactEffectiveStatement {
     EmptyContactEffectiveStatement(final ContactStatement declared) {
         super(declared);
     }
index 5c8a08d8c41fd5c5fdf4281231e5aabbaec1ead6..36aaaf690e0172ebe40a3ead0f955bdb7f812c65 100644 (file)
@@ -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<String, ?, ?> context) {
         super(context);
     }
index 58c1bd35aa25fd977eb918414d9ee089cca7e654..43a2b5743285b788aeb6368ba7563919f375bab9 100644 (file)
@@ -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<String, ContactStatement>
+        implements ContactEffectiveStatement {
     RegularContactEffectiveStatement(final ContactStatement declared,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        super(declared);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public ImmutableList<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return unmaskList(substatements);
+        super(declared, substatements);
     }
 }
index d91579c5c410c9349af1416b65c1189af8130641..da44a1c2df73ba1ad93270ba8248c9d530fb1594 100644 (file)
@@ -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<String, ?, ?> context,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        super(context);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public Collection<? extends DeclaredStatement<?>> 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 (file)
index 404d5b6..0000000
+++ /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<String, DefaultStatement>
-        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 (file)
index 17e2ec4..0000000
+++ /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<String, ?, ?> context) {
-        super(context);
-    }
-
-    @Override
-    public final StatementDefinition statementDefinition() {
-        return YangStmtMapping.DEFAULT;
-    }
-}
index fbf15a8d187bfa867376254fdc5e1138c60f8d88..64bee8df8d4d96604f7be3bad1b9751cf72a829f 100644 (file)
@@ -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<String, DefaultStatement>
+        implements DefaultEffectiveStatement {
     EmptyDefaultEffectiveStatement(final DefaultStatement declared) {
         super(declared);
     }
index ea09ba75bccc88ad8ac4a362899887c45d300436..9e8f750feba51b56494712c86be2718e62d4c045 100644 (file)
@@ -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<String, ?, ?> context) {
         super(context);
     }
index 4c41633533dc626a4be600c86b9b9b9c8cd92d75..08d47cf49bd48ee5a5ed62f4cc3e46e6f99f6f7c 100644 (file)
@@ -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<String, DefaultStatement>
+        implements DefaultEffectiveStatement {
     RegularDefaultEffectiveStatement(final DefaultStatement declared,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        super(declared);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public ImmutableList<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return unmaskList(substatements);
+        super(declared, substatements);
     }
 }
index a5dadf3be7cb3eb8089ad1d86ba319a296afe0df..02c2917d1887c7815c57ba1ceb8870ab1a28f98e 100644 (file)
@@ -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<String, ?, ?> context,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        super(context);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public Collection<? extends DeclaredStatement<?>> 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 (file)
index f147c5d..0000000
+++ /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<String, DescriptionStatement>
-        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 (file)
index 5853b80..0000000
+++ /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<String, ?, ?> context) {
-        super(context);
-    }
-
-    @Override
-    public final StatementDefinition statementDefinition() {
-        return YangStmtMapping.DESCRIPTION;
-    }
-}
index 84e65fe101ff66ac6f5fd487e20ba82fb9d17a96..e841fb078602cac2dddae1a01620ec910bb2f884 100644 (file)
@@ -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<String, DescriptionStatement>
+        implements DescriptionEffectiveStatement {
     EmptyDescriptionEffectiveStatement(final DescriptionStatement declared) {
         super(declared);
     }
index d516aac70711ae0cfbeed0b19ea7a5223fdc21fa..a0cc766ae0ffa09dcccb478da89a780fe7457f0e 100644 (file)
@@ -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<String, ?, ?> context) {
         super(context);
     }
index b4358c2ed478f5c15ece762bedd73c24f1fd1cba..604dd0b3adcc27c3ef37349e2e35e31c5d0a4c2d 100644 (file)
@@ -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<String, DescriptionStatement>
+        implements DescriptionEffectiveStatement {
     RegularDescriptionEffectiveStatement(final DescriptionStatement declared,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        super(declared);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public ImmutableList<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return unmaskList(substatements);
+        super(declared, substatements);
     }
 }
index a8a5c339baeb47e7d631af4ec33c44d0234bf775..6cebdf4e6d590d1b7edd589454f71211ea812483 100644 (file)
@@ -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<String, ?, ?> context,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        super(context);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public Collection<? extends DeclaredStatement<?>> 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 (file)
index 01a273c..0000000
+++ /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<String, ErrorAppTagStatement>
-        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 (file)
index 52993ec..0000000
+++ /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<String, ?, ?> context) {
-        super(context);
-    }
-
-    @Override
-    public final StatementDefinition statementDefinition() {
-        return YangStmtMapping.ERROR_APP_TAG;
-    }
-}
index 75bee977016c621c1ffb44d30f13afc73f97130c..5c136cb96208b9e7bb2824b6cf01cd2f21626c8e 100644 (file)
@@ -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<String, ErrorAppTagStatement>
+        implements ErrorAppTagEffectiveStatement {
     EmptyErrorAppTagEffectiveStatement(final ErrorAppTagStatement declared) {
         super(declared);
     }
index 4954725702fab529a6c91f1e4b9bfd3fbd7d744b..6a42a7856cf2293957ecf613bfaa941c78011b07 100644 (file)
@@ -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<String, ?, ?> context) {
         super(context);
     }
index b0ee0fcdd774b6b774174328519879008f4e5ca5..597a615d3672ba379bb06513ad9a5e21c9e06e4c 100644 (file)
@@ -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<String, ErrorAppTagStatement>
+        implements ErrorAppTagEffectiveStatement {
     RegularErrorAppTagEffectiveStatement(final ErrorAppTagStatement declared,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        super(declared);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public ImmutableList<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return unmaskList(substatements);
+        super(declared, substatements);
     }
 }
index df2c61aa96b55b50a55a3b993073083db605f603..f37ebb1fa5bc213d070702bb293827fb3bd474c9 100644 (file)
@@ -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<String, ?, ?> context,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        super(context);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public Collection<? extends DeclaredStatement<?>> 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 (file)
index e7e295d..0000000
+++ /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<String, ErrorMessageStatement>
-        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 (file)
index bb6c50b..0000000
+++ /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<String, ?, ?> context) {
-        super(context);
-    }
-
-    @Override
-    public final StatementDefinition statementDefinition() {
-        return YangStmtMapping.ERROR_MESSAGE;
-    }
-}
index 09c2290fd4422203ef782a1cfe0d5deb0d6e3a57..1a4087e6af4bf3cf87b4d1d6ad814570a8491e1c 100644 (file)
@@ -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<String, ErrorMessageStatement>
+        implements ErrorMessageEffectiveStatement {
     EmptyErrorMessageEffectiveStatement(final ErrorMessageStatement declared) {
         super(declared);
     }
index 17595df67834e8ac6809cc2bbf0059729cc21cbc..d9a65007688dda337df171d19c70b7b091ec269d 100644 (file)
@@ -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<String, ?, ?> context) {
         super(context);
     }
index 8ce5722e5fa6badeff8756c37e7117f17f15dc99..036ad02f82395f289a1cf21d4e4122eb1c35e4e6 100644 (file)
@@ -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<String, ErrorMessageStatement>
+        implements ErrorMessageEffectiveStatement {
     RegularErrorMessageEffectiveStatement(final ErrorMessageStatement declared,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        super(declared);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public ImmutableList<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return unmaskList(substatements);
+        super(declared, substatements);
     }
 }
index c7e64e08319db5b0af378a3512bd3d2078bff057..8d420c74389d42ccc854c77cd86c24a683256e28 100644 (file)
@@ -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<String, ?, ?> context,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        super(context);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public Collection<? extends DeclaredStatement<?>> 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 (file)
index d050fa3..0000000
+++ /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<Collection<SchemaNodeIdentifier>>
-        implements KeyStatement {
-    AbstractKeyStatement(final StmtContext<Collection<SchemaNodeIdentifier>, ?, ?> context) {
-        super(context);
-    }
-
-    @Override
-    public final StatementDefinition statementDefinition() {
-        return YangStmtMapping.KEY;
-    }
-}
index b8a0bcfcf37ecb8a7943cf3977ffd1c780c7ac6a..a6fb7ef94fa22b9ea978e04ebefc6923e3206f25 100644 (file)
@@ -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<Collection<SchemaNodeIdentifier>> implements KeyStatement {
     EmptyKeyStatement(final StmtContext<Collection<SchemaNodeIdentifier>, ?, ?> context) {
         super(context);
     }
index 0a119207504d810a2d1b6b88075309edc1684ab8..60ac9c2f56c9bf30a40e30e03827e110983142ea 100644 (file)
@@ -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<Collection<SchemaNodeIdentifier>> implements KeyStatement {
     private final @NonNull Object substatements;
 
     RegularKeyStatement(final StmtContext<Collection<SchemaNodeIdentifier>, ?, ?> 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 (file)
index db8d390..0000000
+++ /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<Boolean, MandatoryStatement>
-        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 (file)
index ef4b080..0000000
+++ /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;
-    }
-}
index e79c7b5dc811d96e7c1ec8ac57ad56cb2100fa58..ffc205cb43245ff85adb68ad2f06429d19c8a3a6 100644 (file)
@@ -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<Boolean, MandatoryStatement>
+        implements MandatoryEffectiveStatement {
     EmptyMandatoryEffectiveStatement(final MandatoryStatement declared) {
         super(declared);
     }
index 2b1d1e92b47a6f91a46b049e0a02797811c30bd4..a13667f39a7bef8c880bba456fbdaddb7c122f20 100644 (file)
@@ -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<Boolean> implements MandatoryStatement {
     EmptyMandatoryStatement(final Boolean argument) {
         super(argument);
     }
index d41bfb99c4f8ae24ca37998108b733a12c1cde6c..df896dd5a778770f7b326eb337f0e7608b265a56 100644 (file)
@@ -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<Boolean, MandatoryStatement>
+        implements MandatoryEffectiveStatement {
     RegularMandatoryEffectiveStatement(final MandatoryStatement declared,
-        final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        super(declared);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public ImmutableList<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return unmaskList(substatements);
+            final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
+        super(declared, substatements);
     }
 }
index a63e455f450bdfe753fd927c66654c6b54db11f9..00d951c55efb72c633d23374cdbf52f11badc37c 100644 (file)
@@ -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<Boolean> implements MandatoryStatement {
     RegularMandatoryStatement(final Boolean argument,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        super(argument);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public Collection<? extends DeclaredStatement<?>> 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 (file)
index 4d73782..0000000
+++ /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<String, OrderedByStatement>
-        implements OrderedByEffectiveStatement {
-    AbstractOrderedByEffectiveStatement(final OrderedByStatement declared) {
-        super(declared);
-    }
-}
index 1ba1451e4179f72e8bb70fdb2882cc34af71ee8b..532017fa2a8502c210d4ad60414b529848d078e8 100644 (file)
@@ -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<Stri
     public final @NonNull String rawArgument() {
         return argument;
     }
-
-    @Override
-    public final StatementDefinition statementDefinition() {
-        return YangStmtMapping.ORDERED_BY;
-    }
 }
index 2f70796d73e24402d11c3103012febbb0de5e8ec..1db3c6c9261a39ef9d71c589694943f1910f3b6d 100644 (file)
@@ -7,9 +7,12 @@
  */
 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.DefaultArgument;
 
-final class EmptyOrderedByEffectiveStatement extends AbstractOrderedByEffectiveStatement {
+final class EmptyOrderedByEffectiveStatement extends DefaultArgument<String, OrderedByStatement>
+        implements OrderedByEffectiveStatement {
     EmptyOrderedByEffectiveStatement(final OrderedByStatement declared) {
         super(declared);
     }
index 4df031301182c34d749109ffe865e2ffbc5369f3..ea01c619008fda9b95e0f86ff84ef580bce91d74 100644 (file)
@@ -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<String, OrderedByStatement>
+        implements OrderedByEffectiveStatement {
     RegularOrderedByEffectiveStatement(final OrderedByStatement declared,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        super(declared);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public ImmutableList<? extends EffectiveStatement<?, ?>> 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 (file)
index 6330443..0000000
+++ /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<Long, PositionStatement>
-        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 (file)
index d9c0b19..0000000
+++ /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<Long> implements PositionStatement {
-    AbstractPositionStatement(final Long argument) {
-        super(argument);
-    }
-
-    @Override
-    public StatementDefinition statementDefinition() {
-        return YangStmtMapping.POSITION;
-    }
-}
index c78cfc58ebbe166e10b47519a25f6981f71dccd8..188ca1d4cfae6863b8142ba185c82e3cfc364e2c 100644 (file)
@@ -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<Long, PositionStatement>
+        implements PositionEffectiveStatement {
     EmptyPositionEffectiveStatement(final PositionStatement declared) {
         super(declared);
     }
index 9c494cb38c1985ad2fbee805d26fba6884e2477c..109ab2ae21e3ccc40f7021116304d9a517c16d14 100644 (file)
@@ -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<Long> implements PositionStatement {
     EmptyPositionStatement(final Long argument) {
         super(argument);
     }
index 0ef017eaf66c36a327ca8f60242862c62f636f2e..a3699a729795b9e287537ff688862916fcaf8b9c 100644 (file)
@@ -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<Long, PositionStatement>
+        implements PositionEffectiveStatement {
     RegularPositionEffectiveStatement(final PositionStatement declared,
-        final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        super(declared);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public ImmutableList<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return unmaskList(substatements);
+            final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
+        super(declared, substatements);
     }
 }
index 84a82c2e146ece88fc078f06b47f74a7ca84b455..c396b88ad3778faefcc09a66691e327b1dd4a59f 100644 (file)
@@ -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<Long> implements PositionStatement {
     RegularPositionStatement(final Long argument,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        super(argument);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public Collection<? extends DeclaredStatement<?>> 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 (file)
index 279ff64..0000000
+++ /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<String, PrefixStatement>
-        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 (file)
index 10d06f0..0000000
+++ /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<String, ?, ?> context) {
-        super(context);
-    }
-
-    @Override
-    public final StatementDefinition statementDefinition() {
-        return YangStmtMapping.PREFIX;
-    }
-}
index 2ea78b3f1c51235e1ac7b37a11cea7ee4d976fe2..1516fac7c774d538cee3e1fe9e1b3a982d9edb33 100644 (file)
@@ -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<String, PrefixStatement>
+        implements PrefixEffectiveStatement {
     EmptyPrefixEffectiveStatement(final PrefixStatement declared) {
         super(declared);
     }
index 5f2cb57e4d9718bc313f47c72c7100155e223be9..1e55f5f6510d8b2252dee10a29dd433fe44d5b39 100644 (file)
@@ -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<String, ?, ?> context) {
         super(context);
     }
index f46769ef2718754dad530359c3dd6f8bd5aef020..6e85e929186650e00fbcf6af6e116937499dfc67 100644 (file)
@@ -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<String, PrefixStatement>
+        implements PrefixEffectiveStatement {
     RegularPrefixEffectiveStatement(final PrefixStatement declared,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        super(declared);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public ImmutableList<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return unmaskList(substatements);
+        super(declared, substatements);
     }
 }
index cff0a203a366892421a2164104109f1a12e5cc58..bf6cc767845ec20a3f3e5d5a4c53295ee3274f4b 100644 (file)
@@ -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<String, ?, ?> context,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        super(context);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public Collection<? extends DeclaredStatement<?>> 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 (file)
index ff559ad..0000000
+++ /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<String, PresenceStatement>
-        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 (file)
index 068b7f2..0000000
+++ /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<String, ?, ?> context) {
-        super(context);
-    }
-
-    @Override
-    public final StatementDefinition statementDefinition() {
-        return YangStmtMapping.PRESENCE;
-    }
-}
index eaeb1e719668ecaf0fc0400fb78e22e1c8c3e8a5..c3c99f92d42df75244ebdd6d9de8f48c12d362e6 100644 (file)
@@ -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<String, PresenceStatement>
+        implements PresenceEffectiveStatement {
     EmptyPresenceEffectiveStatement(final PresenceStatement declared) {
         super(declared);
     }
index 16e734b3375f90d0d23c778dbfa30e8e0cb6527c..233df9ebae2bd3677d31bb8b2a8bc503d806de25 100644 (file)
@@ -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<String, ?, ?> context) {
         super(context);
     }
index d4276392cf51708d94230a1482b6b54b196a8c0e..90f85a39e077617569e3a34bc78883c6f8583390 100644 (file)
@@ -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<String, PresenceStatement>
+        implements PresenceEffectiveStatement {
     RegularPresenceEffectiveStatement(final PresenceStatement declared,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        super(declared);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public ImmutableList<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return unmaskList(substatements);
+        super(declared, substatements);
     }
 }
index e97fc8279f9e9b77206de5282dc70966962f3a05..e3966ce60a2ef26a7928802161bf11eb30e38958 100644 (file)
@@ -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<String, ?, ?> context,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        super(context);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public Collection<? extends DeclaredStatement<?>> 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 (file)
index a25c9fb..0000000
+++ /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<String, ReferenceStatement>
-        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 (file)
index 5f08d05..0000000
+++ /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<String, ?, ?> context) {
-        super(context);
-    }
-
-    @Override
-    public final StatementDefinition statementDefinition() {
-        return YangStmtMapping.REFERENCE;
-    }
-}
index 95e4385fef55c53091721d47a0e23d837df217be..79497670d9b1ddeaa2d916f3d2a76cb616442e21 100644 (file)
@@ -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<String, ReferenceStatement>
+        implements ReferenceEffectiveStatement {
     EmptyReferenceEffectiveStatement(final ReferenceStatement declared) {
         super(declared);
     }
index 7a762fc94c7e21fc2a39f91e895716fae9f50eab..ad14da01cb133b9f46639ab037c686fcb614d7df 100644 (file)
@@ -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<String, ?, ?> context) {
         super(context);
     }
index 07f98a9ee8098311994c92a90a6acdeb357eec00..a7c4ba8379fbb6f0d029ff993bbe8c9e67d7bcac 100644 (file)
@@ -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<String, ReferenceStatement>
+        implements ReferenceEffectiveStatement {
     RegularReferenceEffectiveStatement(final ReferenceStatement declared,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        super(declared);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public ImmutableList<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return unmaskList(substatements);
+        super(declared, substatements);
     }
 }
index e5f874df8ae47e4ba36e7026df54254f5e8601dc..4c0d936b9c96ed7e24ca4e65730a0c6e8057ae5c 100644 (file)
@@ -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<String, ?, ?> context,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        super(context);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public Collection<? extends DeclaredStatement<?>> 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 (file)
index 2e26aba..0000000
+++ /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<Boolean, RequireInstanceStatement>
-        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 (file)
index 00cd197..0000000
+++ /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;
-    }
-}
index fe7a6dafe141c8178da01b13117954e070098997..65661936e0dc755d4c1453d8322b916e2d392b4c 100644 (file)
@@ -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<Boolean, RequireInstanceStatement>
+        implements RequireInstanceEffectiveStatement {
     EmptyRequireInstanceEffectiveStatement(final RequireInstanceStatement declared) {
         super(declared);
     }
index b4a0ec3c93c33b7eae644ffb914d8bab71f88f79..94a9a70d71f381ef408d45831d27d0f746eac349 100644 (file)
@@ -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<Boolean> implements RequireInstanceStatement {
     EmptyRequireInstanceStatement(final Boolean argument) {
         super(argument);
     }
index 8694b6c6eb4566eb95c52f3dbf4aaf447604e142..84acb5c8b8afc19aac6928c15e8feba62cd0c32a 100644 (file)
@@ -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<Boolean, RequireInstanceStatement>
+        implements RequireInstanceEffectiveStatement {
     RegularRequireInstanceEffectiveStatement(final RequireInstanceStatement declared,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        super(declared);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public ImmutableList<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return unmaskList(substatements);
+        super(declared, substatements);
     }
 }
index ced168209a01d25dd2dedd80e6403bfc554ee1a9..3441308724741c6e32d9236d4719cf78911f8578 100644 (file)
@@ -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<Boolean> implements RequireInstanceStatement {
     RegularRequireInstanceStatement(final Boolean argument,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        super(argument);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public Collection<? extends DeclaredStatement<?>> 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 (file)
index 7369963..0000000
+++ /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<Status, StatusStatement>
-        implements StatusEffectiveStatement {
-    AbstractStatusEffectiveStatement(final StatusStatement declared) {
-        super(declared);
-    }
-}
index e5d28fe5faa07e77482894a64bb5f547922a745d..750c6bfd2b40e490fe32c4a310655f84c04ce7b5 100644 (file)
@@ -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<Status>
     public final @NonNull String rawArgument() {
         return argument.getArgumentString();
     }
-
-    @Override
-    public final StatementDefinition statementDefinition() {
-        return YangStmtMapping.STATUS;
-    }
 }
index c00d66552823799d34512fb54dd459956e996dac..99c4a552dd083509bbd4b4481da1c124b85f3cb9 100644 (file)
@@ -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<Status, StatusStatement>
+        implements StatusEffectiveStatement {
     EmptyStatusEffectiveStatement(final StatusStatement declared) {
         super(declared);
     }
index afd7cca57385fc16852775d62949eafbff54764a..769d9c56722788486392cdbd659b3f4f2d306837 100644 (file)
@@ -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<Status, StatusStatement>
+        implements StatusEffectiveStatement {
     RegularStatusEffectiveStatement(final StatusStatement declared,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        super(declared);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public ImmutableList<? extends EffectiveStatement<?, ?>> 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 (file)
index 9761d53..0000000
+++ /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<String, UnitsStatement>
-        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 (file)
index ec231e7..0000000
+++ /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<String, ?, ?> context) {
-        super(context);
-    }
-
-    @Override
-    public final StatementDefinition statementDefinition() {
-        return YangStmtMapping.UNITS;
-    }
-}
index d880f4e1c707db20033a4b7d43e91bb9e72d1cf6..5f250fc18bb6461840f95173081666aed659b360 100644 (file)
@@ -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<String, UnitsStatement>
+        implements UnitsEffectiveStatement {
     EmptyUnitsEffectiveStatement(final UnitsStatement declared) {
         super(declared);
     }
index 88630698b84d56782b7939df9daf3c9e3405b98f..1b2707ce0ef8ef70c546a1c90e7a1dbaed4376a2 100644 (file)
@@ -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<String, ?, ?> context) {
         super(context);
     }
index 04901639f2f8f465f304cfc0e8dc72379eea1e63..bd6b25bd8f530e1d62c0f1439c1f74ecaaae5800 100644 (file)
@@ -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<String, UnitsStatement>
+        implements UnitsEffectiveStatement {
     RegularUnitsEffectiveStatement(final UnitsStatement declared,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        super(declared);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public ImmutableList<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return unmaskList(substatements);
+        super(declared, substatements);
     }
 }
index a4551146cd7b3663c915b3a7362a25b3f74ff214..e1785678ceb6cf5c3d2bdb6c3ac2e8099690cc58 100644 (file)
@@ -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<String, ?, ?> context,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        super(context);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public Collection<? extends DeclaredStatement<?>> 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 (file)
index 147a40b..0000000
+++ /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<Integer, ValueStatement>
-        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 (file)
index 63127c1..0000000
+++ /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<Integer> implements ValueStatement {
-    AbstractValueStatement(final Integer argument) {
-        super(argument);
-    }
-
-    @Override
-    public StatementDefinition statementDefinition() {
-        return YangStmtMapping.VALUE;
-    }
-}
index 6ae9f375e78367ff10b7d0f1a96275a7aa79056f..53e099760dab9ff72d4c4ae8163ebd5808477545 100644 (file)
@@ -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<Integer, ValueStatement>
+        implements ValueEffectiveStatement {
     EmptyValueEffectiveStatement(final ValueStatement declared) {
         super(declared);
     }
index 355841b07f46c497ab5b163242d70137ab210e50..b42ebd7988349d64851237cc2e1466343119b297 100644 (file)
@@ -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<Integer> implements ValueStatement {
     EmptyValueStatement(final Integer argument) {
         super(argument);
     }
index 7df8456480bf39adcbbf83d30546ae69b24e5e99..d4ef1c8cee85f6223c18102500980fc9101103bd 100644 (file)
@@ -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<Integer, ValueStatement>
+        implements ValueEffectiveStatement {
     RegularValueEffectiveStatement(final ValueStatement declared,
-        final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        super(declared);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public ImmutableList<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return unmaskList(substatements);
+            final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
+        super(declared, substatements);
     }
 }
index f29569fcccc12e6dd79f1bf92be9d454e61e9188..75a62b08588d73ea3cf1736d2ade5e5f8e470460 100644 (file)
@@ -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<Integer> implements ValueStatement {
     RegularValueStatement(final Integer argument,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        super(argument);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public Collection<? extends DeclaredStatement<?>> 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 (file)
index 5e1df47..0000000
+++ /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<Boolean, YinElementStatement>
-        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 (file)
index d1dda50..0000000
+++ /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;
-    }
-}
index abd9794aa2458b9fa3bbdfb1df8bf50bde306013..3186bf0068523f859d7a42bf4768c926733e91a7 100644 (file)
@@ -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<Boolean, YinElementStatement>
+        implements YinElementEffectiveStatement {
     EmptyYinElementEffectiveStatement(final YinElementStatement declared) {
         super(declared);
     }
index 76de8ca5df77e5df34c535c7156037e79200c703..a2e6675a5f019c679ab55db12b460649e308588c 100644 (file)
@@ -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<Boolean> implements YinElementStatement {
     EmptyYinElementStatement(final Boolean argument) {
         super(argument);
     }
index 7ffc12ca5aea011a2505cbc9f0113e4f3f06e159..ce9e79aa125615b783e6b7be127c3497d089dfaf 100644 (file)
@@ -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<Boolean, YinElementStatement>
+        implements YinElementEffectiveStatement {
     RegularYinElementEffectiveStatement(final YinElementStatement declared,
         final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
-        super(declared);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public ImmutableList<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
-        return unmaskList(substatements);
+        super(declared, substatements);
     }
 }
index e612c2681012359142e010422c00ba63fbb5d1a2..95dae97c5d9a86ad1b1438bdda155cb4bd11ee8c 100644 (file)
@@ -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<Boolean> implements YinElementStatement {
     RegularYinElementStatement(final Boolean argument,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        super(argument);
-        this.substatements = maskList(substatements);
-    }
-
-    @Override
-    public Collection<? extends DeclaredStatement<?>> declaredSubstatements() {
-        return unmaskList(substatements);
+        super(argument, substatements);
     }
 }