Split off DeclaredEffectiveStatementBase 69/29469/3
authorRobert Varga <rovarga@cisco.com>
Mon, 9 Nov 2015 21:28:38 +0000 (22:28 +0100)
committerRobert Varga <rovarga@cisco.com>
Tue, 10 Nov 2015 00:21:54 +0000 (01:21 +0100)
Since we are retaining declared statements, which already capture
details from StmtContext, let's specialize a
DesclaredEffectiveStatementBase, which forwards calls to argument and
co. to the declared statement. Reduces memory footprint of
EffectiveSchemaContexts by about 3%.

Change-Id: Icbfa99db841f850c1048fbfe06618613230c2503
Signed-off-by: Robert Varga <rovarga@cisco.com>
63 files changed:
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/AbstractEffectiveDocumentedNode.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ArgumentEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/BaseEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/BelongsEffectiveToStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ConfigEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ContactEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/DeclaredEffectiveStatementBase.java [new file with mode: 0644]
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/DefaultEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/DescriptionEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/DeviateEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/DeviationEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/EffectiveStatementBase.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ErrorAppTagEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ErrorMessageEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/FractionDigitsEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/IfFeatureEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ImportEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/IncludeEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/KeyEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/MandatoryEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/MaxElementsEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/MinElementsEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/MustEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/NamespaceEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/OrderedByEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/OrganizationEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/PathEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/PositionEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/PrefixEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/PresenceEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ReferenceEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/RequireInstanceEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/RevisionDateEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/RevisionEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/StatusEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/UndeclaredEffectiveStatementBase.java [new file with mode: 0644]
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/UniqueEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/UnitsEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/UsesEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/ValueEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/WhenEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/YangVersionEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/YinElementEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/BinaryEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/BitEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/BitsSpecificationEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/BooleanEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/Decimal64SpecificationEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/EmptyEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/EnumEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/EnumSpecificationEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/IdentityRefSpecificationEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/InstanceIdentifierSpecificationEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/IntegerEffectiveImplBase.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/LeafrefSpecificationEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/LengthEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/NumericalRestrictionsEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/PatternEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/RangeEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/StringEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/StringRestrictionsEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/UnionSpecificationEffectiveStatementImpl.java
yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/type/UnsignedIntegerEffectiveImplBase.java

index c0c7477a9b21bff2710bbbb77e8fb67e7bc44372..95fc9e2207faa1217397644a999afb7c34b5dace 100644 (file)
@@ -13,7 +13,7 @@ import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
 abstract class AbstractEffectiveDocumentedNode<A, D extends DeclaredStatement<A>>
-        extends EffectiveStatementBase<A, D> implements DocumentedNode {
+        extends DeclaredEffectiveStatementBase<A, D> implements DocumentedNode {
 
     private final String description;
     private final String reference;
index 8e65778801b44bcac5f5ca667e090e511c31b2b5..dc061f27147f4490223984a70d581cc6b0df1a64 100644 (file)
@@ -11,7 +11,7 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.stmt.ArgumentStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class ArgumentEffectiveStatementImpl extends EffectiveStatementBase<QName, ArgumentStatement> {
+public final class ArgumentEffectiveStatementImpl extends DeclaredEffectiveStatementBase<QName, ArgumentStatement> {
     public ArgumentEffectiveStatementImpl(final StmtContext<QName, ArgumentStatement, ?> ctx) {
         super(ctx);
     }
index 1ac4a89b3317ca4ec122c46c42684e8f572edbcd..8c1829834ad9f9546ac08f01be2a4d46aa561b7e 100644 (file)
@@ -11,7 +11,7 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.stmt.BaseStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public class BaseEffectiveStatementImpl extends EffectiveStatementBase<QName, BaseStatement> {
+public class BaseEffectiveStatementImpl extends DeclaredEffectiveStatementBase<QName, BaseStatement> {
     public BaseEffectiveStatementImpl(final StmtContext<QName, BaseStatement, ?> ctx) {
         super(ctx);
     }
index 4865f040b9f7500772db7929998acd849b0519b9..d8116f61c1348a45ee36c3370b94f019e9eb527f 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.BelongsToStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class BelongsEffectiveToStatementImpl extends EffectiveStatementBase<String, BelongsToStatement> {
+public final class BelongsEffectiveToStatementImpl extends DeclaredEffectiveStatementBase<String, BelongsToStatement> {
     public BelongsEffectiveToStatementImpl(final StmtContext<String, BelongsToStatement, ?> ctx) {
         super(ctx);
     }
index dd08c6d8c058928ef5fb2436724801eb77e6f1ef..2667dd5fe2295f02de064bb82a89bedda6521783 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.ConfigStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class ConfigEffectiveStatementImpl extends EffectiveStatementBase<Boolean, ConfigStatement> {
+public final class ConfigEffectiveStatementImpl extends DeclaredEffectiveStatementBase<Boolean, ConfigStatement> {
     public ConfigEffectiveStatementImpl(final StmtContext<Boolean, ConfigStatement, ?> ctx) {
         super(ctx);
     }
index 62388f8a1efa33bbdf6dabcca277cd83fba87972..2755838cee8de792515a9cfa59e3ead85d71a22d 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.ContactStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class ContactEffectiveStatementImpl extends EffectiveStatementBase<String, ContactStatement> {
+public final class ContactEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, ContactStatement> {
     public ContactEffectiveStatementImpl(final StmtContext<String, ContactStatement, ?> ctx) {
         super(ctx);
     }
diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/DeclaredEffectiveStatementBase.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/DeclaredEffectiveStatementBase.java
new file mode 100644 (file)
index 0000000..d414244
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2015 Cisco Systems, Inc. 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.stmt.rfc6020.effective;
+
+import com.google.common.base.Verify;
+import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
+import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+import org.opendaylight.yangtools.yang.model.api.meta.StatementSource;
+import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
+
+public abstract class DeclaredEffectiveStatementBase<A, D extends DeclaredStatement<A>>
+        extends EffectiveStatementBase<A, D> {
+
+    private final D declaredInstance;
+
+    public DeclaredEffectiveStatementBase(final StmtContext<A, D, ?> ctx) {
+        super(ctx);
+        declaredInstance = Verify.verifyNotNull(ctx.buildDeclared(), "Statement %s failed to build declared statement",
+            ctx);
+    }
+
+    @Override
+    public final StatementDefinition statementDefinition() {
+        return declaredInstance.statementDefinition();
+    }
+
+    @Override
+    public final A argument() {
+        return declaredInstance.argument();
+    }
+
+    @Override
+    public final StatementSource getStatementSource() {
+        return declaredInstance.getStatementSource();
+    }
+
+    @Override
+    public final D getDeclared() {
+        return declaredInstance;
+    }
+}
index 440a1fab4b9f9986545e2dd68f84d3e7e111017d..eb7568b61f58e92842214d126f6e9d7b46c58375 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.DefaultStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class DefaultEffectiveStatementImpl extends EffectiveStatementBase<String, DefaultStatement> {
+public final class DefaultEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, DefaultStatement> {
     public DefaultEffectiveStatementImpl(final StmtContext<String, DefaultStatement, ?> ctx) {
         super(ctx);
     }
index f0c3592ff8a9427c012d50c8e5fd5588ecd0a6e8..62fd3cdd1a97b2e6eb48cae266c254a204e9470a 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.DescriptionStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class DescriptionEffectiveStatementImpl extends EffectiveStatementBase<String, DescriptionStatement> {
+public final class DescriptionEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, DescriptionStatement> {
     public DescriptionEffectiveStatementImpl(final StmtContext<String, DescriptionStatement, ?> ctx) {
         super(ctx);
     }
index d5c42df8ee8b3f2ad9a0de4fc4313c7054b7b276..9b8288b2495882c01df8c7474f288c55380d5b39 100644 (file)
@@ -11,7 +11,7 @@ import org.opendaylight.yangtools.yang.model.api.Deviation;
 import org.opendaylight.yangtools.yang.model.api.stmt.DeviateStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class DeviateEffectiveStatementImpl extends EffectiveStatementBase<Deviation.Deviate, DeviateStatement> {
+public final class DeviateEffectiveStatementImpl extends DeclaredEffectiveStatementBase<Deviation.Deviate, DeviateStatement> {
     public DeviateEffectiveStatementImpl(final StmtContext<Deviation.Deviate, DeviateStatement, ?> ctx) {
         super(ctx);
     }
index a42241cc798f23aa3b2a2aee16fe80ddb724a880..11183196fd2419336d9ad1d1af5772a1bc9fc680 100644 (file)
@@ -20,7 +20,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.DeviationStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public class DeviationEffectiveStatementImpl extends EffectiveStatementBase<SchemaNodeIdentifier, DeviationStatement>
+public class DeviationEffectiveStatementImpl extends DeclaredEffectiveStatementBase<SchemaNodeIdentifier, DeviationStatement>
         implements Deviation, Immutable {
     private final SchemaPath targetPath;
     private final Deviate deviate;
index 6b6b82169de1c795a5bbce4183a3bfbb05ccc91b..eb24880ced8e42e770bda3c27585bd8e8342e261 100644 (file)
@@ -21,8 +21,6 @@ import org.opendaylight.yangtools.yang.model.api.SchemaNode;
 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.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils;
 import org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase;
@@ -30,16 +28,8 @@ import org.opendaylight.yangtools.yang.parser.stmt.reactor.StatementContextBase;
 public abstract class EffectiveStatementBase<A, D extends DeclaredStatement<A>> implements EffectiveStatement<A, D> {
 
     private final List<? extends EffectiveStatement<?, ?>> substatements;
-    private final StatementSource statementSource;
-    private final StatementDefinition statementDefinition;
-    private final A argument;
-    private final D declaredInstance;
-
-    public EffectiveStatementBase(final StmtContext<A, D, ?> ctx) {
-        this.statementDefinition = ctx.getPublicDefinition();
-        this.argument = ctx.getStatementArgument();
-        this.statementSource = ctx.getStatementSource();
 
+    protected EffectiveStatementBase(final StmtContext<A, D, ?> ctx) {
         Collection<StatementContextBase<?, ?, ?>> effectiveSubstatements = ctx.effectiveSubstatements();
 
         Collection<StatementContextBase<?, ?, ?>> substatementsInit = new ArrayList<>();
@@ -60,41 +50,20 @@ public abstract class EffectiveStatementBase<A, D extends DeclaredStatement<A>>
         this.substatements = ImmutableList.copyOf(Collections2.transform(
             Collections2.filter(substatementsInit, StmtContextUtils.IS_SUPPORTED_TO_BUILD_EFFECTIVE),
                 StmtContextUtils.buildEffective()));
-        declaredInstance = ctx.buildDeclared();
-    }
-
-    @Override
-    public StatementDefinition statementDefinition() {
-        return statementDefinition;
-    }
-
-    @Override
-    public A argument() {
-        return argument;
-    }
-
-    @Override
-    public StatementSource getStatementSource() {
-        return statementSource;
-    }
-
-    @Override
-    public D getDeclared() {
-        return declaredInstance;
     }
 
     @Override
-    public <K, V, N extends IdentifierNamespace<K, V>> V get(final Class<N> namespace, final K identifier) {
+    public final <K, V, N extends IdentifierNamespace<K, V>> V get(final Class<N> namespace, final K identifier) {
         throw new UnsupportedOperationException("Not implemented yet.");
     }
 
     @Override
-    public <K, V, N extends IdentifierNamespace<K, V>> Map<K, V> getAll(final Class<N> namespace) {
+    public final <K, V, N extends IdentifierNamespace<K, V>> Map<K, V> getAll(final Class<N> namespace) {
         throw new UnsupportedOperationException("Not implemented yet.");
     }
 
     @Override
-    public Collection<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
+    public final Collection<? extends EffectiveStatement<?, ?>> effectiveSubstatements() {
         return substatements;
     }
 
index 6a98f96001502a54e4b603ab4a2ff0750fe8415e..9b8c3b8a2bc38ad22b67640ca245d11f11c386e6 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.ErrorAppTagStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class ErrorAppTagEffectiveStatementImpl extends EffectiveStatementBase<String, ErrorAppTagStatement> {
+public final class ErrorAppTagEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, ErrorAppTagStatement> {
     public ErrorAppTagEffectiveStatementImpl(final StmtContext<String, ErrorAppTagStatement, ?> ctx) {
         super(ctx);
     }
index 00814f3ba7152f60b53a13a860fefa8e7b985822..f29870c024725587ca8813b340d4b0ea9643cb32 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.ErrorMessageStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class ErrorMessageEffectiveStatementImpl extends EffectiveStatementBase<String, ErrorMessageStatement> {
+public final class ErrorMessageEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, ErrorMessageStatement> {
     public ErrorMessageEffectiveStatementImpl(final StmtContext<String, ErrorMessageStatement, ?> ctx) {
         super(ctx);
     }
index 77f6e28e6f5f6a3c237ad8b772eddf8bc9932443..79ca7aa34387016223c438309c9e6dea39fe2c4f 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.FractionDigitsStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class FractionDigitsEffectiveStatementImpl extends EffectiveStatementBase<Integer, FractionDigitsStatement> {
+public final class FractionDigitsEffectiveStatementImpl extends DeclaredEffectiveStatementBase<Integer, FractionDigitsStatement> {
     public FractionDigitsEffectiveStatementImpl(final StmtContext<Integer, FractionDigitsStatement, ?> ctx) {
         super(ctx);
     }
index 933b2b7d6759e8feaaf5edbcf47f9ca99ffad430..7cfd2aa28114dc7ceb5f2d483164ebef8605e9c5 100644 (file)
@@ -11,7 +11,7 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.stmt.IfFeatureStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class IfFeatureEffectiveStatementImpl extends EffectiveStatementBase<QName, IfFeatureStatement> {
+public final class IfFeatureEffectiveStatementImpl extends DeclaredEffectiveStatementBase<QName, IfFeatureStatement> {
     public IfFeatureEffectiveStatementImpl(final StmtContext<QName, IfFeatureStatement, ?> ctx) {
         super(ctx);
     }
index 9839ca4f1bc630ab8ce93abe2ce4524702b6932d..82435f3c4f613288a985f422c4ee40b6743086c8 100644 (file)
@@ -14,7 +14,7 @@ import org.opendaylight.yangtools.yang.model.api.ModuleImport;
 import org.opendaylight.yangtools.yang.model.api.stmt.ImportStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public class ImportEffectiveStatementImpl extends EffectiveStatementBase<String, ImportStatement> implements
+public class ImportEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, ImportStatement> implements
         ModuleImport {
 
     private final String moduleName;
index 4123b9773341f555de294c8ef1cda38c5b30c3a5..54558745a8f7c7d09e97f425567fa37fcd638b0b 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.IncludeStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class IncludeEffectiveStatementImpl extends EffectiveStatementBase<String, IncludeStatement> {
+public final class IncludeEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, IncludeStatement> {
     public IncludeEffectiveStatementImpl(final StmtContext<String, IncludeStatement, ?> ctx) {
         super(ctx);
     }
index baee0ec82996858abd843384e9eac3475ebfd653..1bce773f7bddb381e7db5bb93f7fe8da2ffe8522 100644 (file)
@@ -12,7 +12,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.KeyStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class KeyEffectiveStatementImpl extends EffectiveStatementBase<Collection<SchemaNodeIdentifier>,
+public final class KeyEffectiveStatementImpl extends DeclaredEffectiveStatementBase<Collection<SchemaNodeIdentifier>,
         KeyStatement> {
     public KeyEffectiveStatementImpl(final StmtContext<Collection<SchemaNodeIdentifier>, KeyStatement, ?> ctx) {
         super(ctx);
index 3d875479d9fe3dee79f2bb164bb42feb3f5d7e42..ea0f20bc69bfb580061fd60e747339519bee3d76 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.MandatoryStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class MandatoryEffectiveStatementImpl extends EffectiveStatementBase<Boolean, MandatoryStatement>
+public final class MandatoryEffectiveStatementImpl extends DeclaredEffectiveStatementBase<Boolean, MandatoryStatement>
     implements MandatoryEffectiveStatement {
     public MandatoryEffectiveStatementImpl(final StmtContext<Boolean, MandatoryStatement, ?> ctx) {
         super(ctx);
index 1e1f2141a88f7a6ba7e33b41f5dec0ba074ee79f..77e9f932e4426c9f3c9679ffa4337fe3c6e1d519 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.MaxElementsStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class MaxElementsEffectiveStatementImpl extends EffectiveStatementBase<String, MaxElementsStatement> {
+public final class MaxElementsEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, MaxElementsStatement> {
     public MaxElementsEffectiveStatementImpl(final StmtContext<String, MaxElementsStatement, ?> ctx) {
         super(ctx);
     }
index 8816fc5b1c976998280c7a2d3ecb2a781cd0aeb9..04fa096180a059691cb986aa25d1b15e6fc24dab 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.MinElementsStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class MinElementsEffectiveStatementImpl extends EffectiveStatementBase<Integer, MinElementsStatement> {
+public final class MinElementsEffectiveStatementImpl extends DeclaredEffectiveStatementBase<Integer, MinElementsStatement> {
     public MinElementsEffectiveStatementImpl(final StmtContext<Integer, MinElementsStatement, ?> ctx) {
         super(ctx);
     }
index e76d12296eaf852168ee29056d44c1e6bec25d4f..86195797ddaf32535c0c273936a28bea81b6b5ad 100644 (file)
@@ -13,7 +13,7 @@ import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath;
 import org.opendaylight.yangtools.yang.model.api.stmt.MustStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public class MustEffectiveStatementImpl extends EffectiveStatementBase<RevisionAwareXPath, MustStatement> implements
+public class MustEffectiveStatementImpl extends DeclaredEffectiveStatementBase<RevisionAwareXPath, MustStatement> implements
         MustDefinition {
 
     private final RevisionAwareXPath xPath;
index 78cad170b316c58fa9218c541c6432655477e641..2a73618cf66154ba8c83f19d6d484cee7a67dc38 100644 (file)
@@ -11,7 +11,7 @@ import java.net.URI;
 import org.opendaylight.yangtools.yang.model.api.stmt.NamespaceStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class NamespaceEffectiveStatementImpl extends EffectiveStatementBase<URI, NamespaceStatement>  {
+public final class NamespaceEffectiveStatementImpl extends DeclaredEffectiveStatementBase<URI, NamespaceStatement>  {
     public NamespaceEffectiveStatementImpl(final StmtContext<URI, NamespaceStatement, ?> ctx) {
         super(ctx);
     }
index 9ad3e22845c4271ef9dbb59ad90c7cd76ed8bf36..518789114a0024af590dc3108191f051bca19061 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.OrderedByStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class OrderedByEffectiveStatementImpl extends EffectiveStatementBase<String, OrderedByStatement> {
+public final class OrderedByEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, OrderedByStatement> {
     public OrderedByEffectiveStatementImpl(final StmtContext<String, OrderedByStatement, ?> ctx) {
         super(ctx);
     }
index 02c5c92bd9ed806d336f55471db3d89efd4a6439..ed47aed7918f8d87a8ae18132a42db6d10ad9597 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.OrganizationStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class OrganizationEffectiveStatementImpl extends EffectiveStatementBase<String, OrganizationStatement> {
+public final class OrganizationEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, OrganizationStatement> {
     public OrganizationEffectiveStatementImpl(final StmtContext<String, OrganizationStatement, ?> ctx) {
         super(ctx);
     }
index 569fba12132e2b7e83c6c96105d84a18d6336383..1f61b4903997a8afc7940414fe33611c30d44147 100644 (file)
@@ -11,7 +11,7 @@ import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath;
 import org.opendaylight.yangtools.yang.model.api.stmt.PathStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class PathEffectiveStatementImpl extends EffectiveStatementBase<RevisionAwareXPath, PathStatement> {
+public final class PathEffectiveStatementImpl extends DeclaredEffectiveStatementBase<RevisionAwareXPath, PathStatement> {
     public PathEffectiveStatementImpl(final StmtContext<RevisionAwareXPath, PathStatement, ?> ctx) {
         super(ctx);
     }
index 8946e7f15d6e3226d59cd9cffafadaff00495500..76ffd9f2ec3246211e20200aae62fd7f27cad3dc 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.PositionStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class PositionEffectiveStatementImpl extends EffectiveStatementBase<Long, PositionStatement> {
+public final class PositionEffectiveStatementImpl extends DeclaredEffectiveStatementBase<Long, PositionStatement> {
     public PositionEffectiveStatementImpl(final StmtContext<Long, PositionStatement, ?> ctx) {
         super(ctx);
     }
index bf311ec51b12d5b4484076d4b253b8954d00d4c9..1d80bb72d434462fa3e38e33611941ea8b753f6a 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class PrefixEffectiveStatementImpl extends EffectiveStatementBase<String, PrefixStatement>  {
+public final class PrefixEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, PrefixStatement>  {
     public PrefixEffectiveStatementImpl(final StmtContext<String, PrefixStatement, ?> ctx) {
         super(ctx);
     }
index f92077aed7234686cbf1dcc588f19de0cc2bb7b8..acdf71eec28ee2ac282255b5ef6b5e797ed6f7b4 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.PresenceStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class PresenceEffectiveStatementImpl extends EffectiveStatementBase<String, PresenceStatement> {
+public final class PresenceEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, PresenceStatement> {
     public PresenceEffectiveStatementImpl(final StmtContext<String, PresenceStatement, ?> ctx) {
         super(ctx);
     }
index 3a821ae7ff5fcb080b81799fa69c7f88ac8c8272..4b376bbd31c4fbff71cf6f4e275375c8d9d5b706 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.ReferenceStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class ReferenceEffectiveStatementImpl extends EffectiveStatementBase<String, ReferenceStatement>  {
+public final class ReferenceEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, ReferenceStatement>  {
     public ReferenceEffectiveStatementImpl(final StmtContext<String, ReferenceStatement, ?> ctx) {
         super(ctx);
     }
index c71857b0f797aec6d27b1da005ca5221f6c209f7..e9b861ba2c196bb539655e240ba86b598d3c09f1 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.RequireInstanceStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class RequireInstanceEffectiveStatementImpl extends EffectiveStatementBase<Boolean,
+public final class RequireInstanceEffectiveStatementImpl extends DeclaredEffectiveStatementBase<Boolean,
         RequireInstanceStatement> {
     public RequireInstanceEffectiveStatementImpl(final StmtContext<Boolean, RequireInstanceStatement, ?> ctx) {
         super(ctx);
index ef66c81bc3487694bcb48bed33962b7c9e79cb58..ecb2a1de5701713144dbd30ae607796916416642 100644 (file)
@@ -11,7 +11,7 @@ import java.util.Date;
 import org.opendaylight.yangtools.yang.model.api.stmt.RevisionDateStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class RevisionDateEffectiveStatementImpl extends EffectiveStatementBase<Date, RevisionDateStatement> {
+public final class RevisionDateEffectiveStatementImpl extends DeclaredEffectiveStatementBase<Date, RevisionDateStatement> {
     public RevisionDateEffectiveStatementImpl(final StmtContext<Date, RevisionDateStatement, ?> ctx) {
         super(ctx);
     }
index 134d69c8fcafa6ea81df7a17b05efc54e27b585e..fbed61b263c8d6edb7308bbbcabde73c522d811c 100644 (file)
@@ -11,7 +11,7 @@ import java.util.Date;
 import org.opendaylight.yangtools.yang.model.api.stmt.RevisionStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class RevisionEffectiveStatementImpl extends EffectiveStatementBase<Date, RevisionStatement> {
+public final class RevisionEffectiveStatementImpl extends DeclaredEffectiveStatementBase<Date, RevisionStatement> {
     private final String reference;
     private final String description;
 
index 8fc88c605b613804eeffba04e1dbb9fdd7a0cecd..df13caef11da151a05955a104d86855bb01b1e08 100644 (file)
@@ -11,7 +11,7 @@ import org.opendaylight.yangtools.yang.model.api.Status;
 import org.opendaylight.yangtools.yang.model.api.stmt.StatusStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class StatusEffectiveStatementImpl extends EffectiveStatementBase<Status, StatusStatement> {
+public final class StatusEffectiveStatementImpl extends DeclaredEffectiveStatementBase<Status, StatusStatement> {
     public StatusEffectiveStatementImpl(final StmtContext<Status, StatusStatement, ?> ctx) {
         super(ctx);
     }
diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/UndeclaredEffectiveStatementBase.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/rfc6020/effective/UndeclaredEffectiveStatementBase.java
new file mode 100644 (file)
index 0000000..2924cff
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2015 Cisco Systems, Inc. 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.stmt.rfc6020.effective;
+
+import com.google.common.base.Verify;
+import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
+import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
+import org.opendaylight.yangtools.yang.model.api.meta.StatementSource;
+import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
+
+public abstract class UndeclaredEffectiveStatementBase<A, D extends DeclaredStatement<A>> extends EffectiveStatementBase<A, D> {
+
+    private final StatementSource statementSource;
+    private final StatementDefinition statementDefinition;
+    private final A argument;
+
+    protected UndeclaredEffectiveStatementBase(final StmtContext<A, D, ?> ctx) {
+        super(ctx);
+        this.statementDefinition = ctx.getPublicDefinition();
+        this.argument = ctx.getStatementArgument();
+        this.statementSource = ctx.getStatementSource();
+
+        final D declareInstance = ctx.buildDeclared();
+        Verify.verify(declareInstance == null, "Statement %s resulted in declared statement %s", declareInstance);
+    }
+
+    @Override
+    public final StatementDefinition statementDefinition() {
+        return statementDefinition;
+    }
+
+    @Override
+    public final A argument() {
+        return argument;
+    }
+
+    @Override
+    public final StatementSource getStatementSource() {
+        return statementSource;
+    }
+
+    @Override
+    public final D getDeclared() {
+        return null;
+    }
+}
index 6e895efa1e78187ecde416e35f8e5a8256e91f5e..7aed19de4c69b557c0bb2ba16ab93c4aa86e00d1 100644 (file)
@@ -14,8 +14,8 @@ import org.opendaylight.yangtools.yang.model.api.stmt.UniqueStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
 public final class UniqueEffectiveStatementImpl extends
-        EffectiveStatementBase<Collection<SchemaNodeIdentifier.Relative>, UniqueStatement> {
-    public UniqueEffectiveStatementImpl(StmtContext<Collection<SchemaNodeIdentifier.Relative>, UniqueStatement, ?> ctx) {
+        DeclaredEffectiveStatementBase<Collection<SchemaNodeIdentifier.Relative>, UniqueStatement> {
+    public UniqueEffectiveStatementImpl(final StmtContext<Collection<SchemaNodeIdentifier.Relative>, UniqueStatement, ?> ctx) {
         super(ctx);
     }
 }
index ecdb5133a23fb49ef3432aaafd07c44a852002e1..079c5a71da945f33fd56cfc42fedb29f2abf63ca 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.UnitsStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class UnitsEffectiveStatementImpl extends EffectiveStatementBase<String, UnitsStatement> {
+public final class UnitsEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, UnitsStatement> {
     public UnitsEffectiveStatementImpl(final StmtContext<String, UnitsStatement, ?> ctx) {
         super(ctx);
     }
index 7571f49f33588bab1bd0d79a5546d587b6135519..8de17085f2585d1389e1fe154e6009cf5e551200 100644 (file)
@@ -32,7 +32,7 @@ import org.opendaylight.yangtools.yang.parser.spi.GroupingNamespace;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.TypeOfCopy;
 
-public final class UsesEffectiveStatementImpl extends EffectiveStatementBase<QName, UsesStatement> implements UsesNode {
+public final class UsesEffectiveStatementImpl extends DeclaredEffectiveStatementBase<QName, UsesStatement> implements UsesNode {
     private final SchemaPath groupingPath;
     private final boolean addedByUses;
     private final Map<SchemaPath, SchemaNode> refines;
index 68254e6e2d3dba3238b58ed5b62e93d0ec86c745..d08a4c4b0b7b4c18583f552c037a41d972b52a05 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.ValueStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class ValueEffectiveStatementImpl extends EffectiveStatementBase<Integer, ValueStatement> {
+public final class ValueEffectiveStatementImpl extends DeclaredEffectiveStatementBase<Integer, ValueStatement> {
     public ValueEffectiveStatementImpl(final StmtContext<Integer, ValueStatement, ?> ctx) {
         super(ctx);
     }
index 0f467171a0b8516de733c7895768dc912ec1a3dc..48c3aa02f02d2bec994e8fa54c99ab95b2227120 100644 (file)
@@ -11,7 +11,7 @@ import org.opendaylight.yangtools.yang.model.api.RevisionAwareXPath;
 import org.opendaylight.yangtools.yang.model.api.stmt.WhenStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class WhenEffectiveStatementImpl extends EffectiveStatementBase<RevisionAwareXPath, WhenStatement> {
+public final class WhenEffectiveStatementImpl extends DeclaredEffectiveStatementBase<RevisionAwareXPath, WhenStatement> {
     public WhenEffectiveStatementImpl(final StmtContext<RevisionAwareXPath, WhenStatement, ?> ctx) {
         super(ctx);
     }
index 9d8c8fd0aae8b2d73146e38265fb8a9d025ed43c..835e2cbc3a1e06e02d1e8c9d71da1d83d86e8b49 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.YangVersionStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class YangVersionEffectiveStatementImpl extends EffectiveStatementBase<String, YangVersionStatement> {
+public final class YangVersionEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, YangVersionStatement> {
     public YangVersionEffectiveStatementImpl(final StmtContext<String, YangVersionStatement, ?> ctx) {
         super(ctx);
     }
index 8072d6fdb873a6ace1070d65c379d8e9939a4da6..255dd39302597f1c9937fa120ee6fb794da82b5c 100644 (file)
@@ -10,7 +10,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 import org.opendaylight.yangtools.yang.model.api.stmt.YinElementStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
-public final class YinElementEffectiveStatementImpl extends EffectiveStatementBase<Boolean, YinElementStatement> {
+public final class YinElementEffectiveStatementImpl extends DeclaredEffectiveStatementBase<Boolean, YinElementStatement> {
     public YinElementEffectiveStatementImpl(final StmtContext<Boolean, YinElementStatement, ?> ctx) {
         super(ctx);
     }
index 7382a411a98e2e4d27ad147e83c43d7a17f6ea98..95674fe11c84ffb84bbd288ac350b872faa50dd2 100644 (file)
@@ -21,9 +21,9 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement;
 import org.opendaylight.yangtools.yang.model.api.type.BinaryTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 
-public class BinaryEffectiveStatementImpl extends EffectiveStatementBase<String, TypeStatement>
+public class BinaryEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, TypeStatement>
         implements BinaryTypeDefinition {
 
     private static final String DESCRIPTION = "The binary built-in type represents any binary data, i.e., a sequence of octets.";
index 7493a6146932e0b2aa12cca643b10716c112945b..bfeba648a9cc9dab13cc1900acdb251b99a71105 100644 (file)
@@ -19,13 +19,13 @@ import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.BitStatement;
 import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DescriptionEffectiveStatementImpl;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.PositionEffectiveStatementImpl;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.ReferenceEffectiveStatementImpl;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.StatusEffectiveStatementImpl;
 
-public class BitEffectiveStatementImpl extends EffectiveStatementBase<QName, BitStatement> implements
+public class BitEffectiveStatementImpl extends DeclaredEffectiveStatementBase<QName, BitStatement> implements
         BitsTypeDefinition.Bit {
 
     private final QName qName;
index 21b59e529268a29434e43a8e284c5c02b9cdda85..8bf9bde82904a61b7c6a0e8a6717ea1f644613ef 100644 (file)
@@ -24,10 +24,11 @@ import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition;
 import org.opendaylight.yangtools.yang.model.util.BaseTypes;
 import org.opendaylight.yangtools.yang.model.util.BitsType;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 
 public class BitsSpecificationEffectiveStatementImpl extends
-        EffectiveStatementBase<String, BitsSpecification> implements BitsTypeDefinition, TypeEffectiveStatement<BitsSpecification> {
+        DeclaredEffectiveStatementBase<String, BitsSpecification>
+        implements BitsTypeDefinition, TypeEffectiveStatement<BitsSpecification> {
 
     private static final QName QNAME = BaseTypes.BITS_QNAME;
     private static final String DESCRIPTION = "The bits built-in type represents a bit set. "
index ddf52a5e081969c6dcd46014562b98822fa94739..62be89ca2f3b5ad9297bc2ce3b25eb62ddc86c1d 100644 (file)
@@ -21,9 +21,9 @@ import org.opendaylight.yangtools.yang.model.api.type.BooleanTypeDefinition;
 import org.opendaylight.yangtools.yang.model.util.BaseTypes;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeUtils;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 
-public class BooleanEffectiveStatementImpl extends EffectiveStatementBase<String, TypeStatement>
+public class BooleanEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, TypeStatement>
         implements BooleanTypeDefinition {
 
     public static final String LOCAL_NAME = TypeUtils.BOOLEAN;
index e8ee0aa436603ef7ecbc1852ff38884dc2e7f570..e9076efdc250262d0a36d541ab9d5a0143873a5d 100644 (file)
@@ -29,11 +29,11 @@ import org.opendaylight.yangtools.yang.model.util.ExtendedType;
 import org.opendaylight.yangtools.yang.model.util.ExtendedType.Builder;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeUtils;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.FractionDigitsEffectiveStatementImpl;
 
 public class Decimal64SpecificationEffectiveStatementImpl extends
-        EffectiveStatementBase<String, Decimal64Specification>
+        DeclaredEffectiveStatementBase<String, Decimal64Specification>
         implements DecimalTypeDefinition, TypeEffectiveStatement<Decimal64Specification> {
 
     private static final String UNITS = "";
index 0c8d5c82883140d45ed2527c4cdc341a1a73e9cd..71a0b0fa0aeb0c326cfd6f65c373034bd23cc789 100644 (file)
@@ -20,9 +20,9 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement;
 import org.opendaylight.yangtools.yang.model.api.type.EmptyTypeDefinition;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeUtils;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 
-public class EmptyEffectiveStatementImpl extends EffectiveStatementBase<String, TypeStatement>
+public class EmptyEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, TypeStatement>
         implements EmptyTypeDefinition {
 
     public static final String LOCAL_NAME = TypeUtils.EMPTY;
index f4dbd351e54804a5d2c3eb711e728bcd8b5155b6..cae49ff3f5130702257827b622bd0827332e4dca 100644 (file)
@@ -17,13 +17,13 @@ import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.EnumStatement;
 import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition.EnumPair;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DescriptionEffectiveStatementImpl;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.ReferenceEffectiveStatementImpl;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.StatusEffectiveStatementImpl;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.ValueEffectiveStatementImpl;
 
-public class EnumEffectiveStatementImpl extends EffectiveStatementBase<String, EnumStatement> implements EnumPair {
+public class EnumEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, EnumStatement> implements EnumPair {
     private final SchemaPath path;
     private String description;
     private String reference;
index 74454616a9c093a388463f6c6124a5ac3d3d2add..564d9296df80473658bec5f8bf50083369419651 100644 (file)
@@ -25,10 +25,11 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.EnumSpecific
 import org.opendaylight.yangtools.yang.model.api.type.EnumTypeDefinition;
 import org.opendaylight.yangtools.yang.model.util.EnumerationType;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 
 public class EnumSpecificationEffectiveStatementImpl extends
-        EffectiveStatementBase<String, EnumSpecification> implements EnumTypeDefinition, TypeEffectiveStatement<EnumSpecification> {
+        DeclaredEffectiveStatementBase<String, EnumSpecification> implements EnumTypeDefinition,
+        TypeEffectiveStatement<EnumSpecification> {
 
     private static final QName QNAME = QName.create(YangConstants.RFC6020_YANG_MODULE, "enumeration");
 
index cb8dca2e6d39557364730eddd692c726fb3a4b6c..7b31a3f42c17aba84864f795ac8c490e1d3f8e8a 100644 (file)
@@ -26,10 +26,10 @@ import org.opendaylight.yangtools.yang.parser.spi.IdentityNamespace;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeUtils;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.BaseEffectiveStatementImpl;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 
 public class IdentityRefSpecificationEffectiveStatementImpl extends
-        EffectiveStatementBase<String, IdentityRefSpecification> implements IdentityrefTypeDefinition,
+        DeclaredEffectiveStatementBase<String, IdentityRefSpecification> implements IdentityrefTypeDefinition,
         TypeEffectiveStatement<IdentityRefSpecification> {
 
     private static final QName QNAME = QName.create(YangConstants.RFC6020_YANG_MODULE, TypeUtils.IDENTITY_REF);
index 61d9437e04fc54950fc2efb27b2d6816ffbe8a87..708e44251a6d4905803b122b8b864361b77b205b 100644 (file)
@@ -22,11 +22,11 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.InstanceIden
 import org.opendaylight.yangtools.yang.model.api.type.InstanceIdentifierTypeDefinition;
 import org.opendaylight.yangtools.yang.model.util.InstanceIdentifierType;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.RequireInstanceEffectiveStatementImpl;
 
 public class InstanceIdentifierSpecificationEffectiveStatementImpl extends
-        EffectiveStatementBase<String, InstanceIdentifierSpecification> implements InstanceIdentifierTypeDefinition,
+        DeclaredEffectiveStatementBase<String, InstanceIdentifierSpecification> implements InstanceIdentifierTypeDefinition,
         TypeEffectiveStatement<InstanceIdentifierSpecification> {
 
     private static final QName QNAME = QName.create(YangConstants.RFC6020_YANG_MODULE, "instance-identifier");
index 5e567f5a7988dd913119ba373d1651ccee48e331..9f2c67d18618cd2011cd279d56e93eb415ca8c6f 100644 (file)
@@ -22,10 +22,10 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement;
 import org.opendaylight.yangtools.yang.model.api.type.IntegerTypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.type.RangeConstraint;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 
 abstract class IntegerEffectiveImplBase extends
-        EffectiveStatementBase<String,TypeStatement> implements IntegerTypeDefinition {
+        DeclaredEffectiveStatementBase<String,TypeStatement> implements IntegerTypeDefinition {
 
     private static final String REFERENCE_INT = "https://tools.ietf.org/html/rfc6020#section-9.2";
 
index 8af6d8dfe7276d726711d433746e7fd18f0b2202..c2d5755db847e9bc520f1cc3a21d4da1301204b5 100644 (file)
@@ -23,10 +23,10 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.LeafrefSpeci
 import org.opendaylight.yangtools.yang.model.api.type.LeafrefTypeDefinition;
 import org.opendaylight.yangtools.yang.model.util.Leafref;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.PathEffectiveStatementImpl;
 
-public class LeafrefSpecificationEffectiveStatementImpl extends EffectiveStatementBase<String, LeafrefSpecification>
+public class LeafrefSpecificationEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, LeafrefSpecification>
         implements LeafrefTypeDefinition, TypeEffectiveStatement<LeafrefSpecification> {
 
     public static final String LOCAL_NAME = "leafref";
index e876ac3363c153480732faf880ae39cc6cf4b90a..84e7c993acefa842d6de5099963b81f3432c1224 100644 (file)
@@ -11,9 +11,9 @@ import java.util.List;
 import org.opendaylight.yangtools.yang.model.api.stmt.LengthStatement;
 import org.opendaylight.yangtools.yang.model.api.type.LengthConstraint;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 
-public class LengthEffectiveStatementImpl extends EffectiveStatementBase<List<LengthConstraint>, LengthStatement> {
+public class LengthEffectiveStatementImpl extends DeclaredEffectiveStatementBase<List<LengthConstraint>, LengthStatement> {
     public LengthEffectiveStatementImpl(final StmtContext<List<LengthConstraint>, LengthStatement, ?> ctx) {
         super(ctx);
     }
index ce971275407da0365cf2f46ffd1cba6e89d85cd7..118bf5f2bc583581fcccbef661e72ea7cd433714 100644 (file)
@@ -7,13 +7,13 @@
  */
 package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type;
 
-import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement;
+import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.NumericalRestrictions;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 
-public class NumericalRestrictionsEffectiveStatementImpl extends EffectiveStatementBase<String, TypeStatement.NumericalRestrictions> {
+public class NumericalRestrictionsEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, NumericalRestrictions> {
 
-    public NumericalRestrictionsEffectiveStatementImpl(StmtContext<String, TypeStatement.NumericalRestrictions, ?> ctx) {
+    public NumericalRestrictionsEffectiveStatementImpl(final StmtContext<String, NumericalRestrictions, ?> ctx) {
         super(ctx);
     }
 }
index c58c185218e6dde57f4c1ada8888d2066014a499..fb59877b8b1e837f77dec8e3373a8c3f8d260e30 100644 (file)
@@ -10,9 +10,9 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type;
 import org.opendaylight.yangtools.yang.model.api.stmt.PatternStatement;
 import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 
-public class PatternEffectiveStatementImpl extends EffectiveStatementBase<PatternConstraint, PatternStatement> {
+public class PatternEffectiveStatementImpl extends DeclaredEffectiveStatementBase<PatternConstraint, PatternStatement> {
     public PatternEffectiveStatementImpl(final StmtContext<PatternConstraint, PatternStatement, ?> ctx) {
         super(ctx);
     }
index 4e97546667f82e819988d437e98221babcbbc676..72f08e34a79c0a07a9872b296dcd9df51c0f0b1c 100644 (file)
@@ -11,9 +11,9 @@ import java.util.List;
 import org.opendaylight.yangtools.yang.model.api.stmt.RangeStatement;
 import org.opendaylight.yangtools.yang.model.api.type.RangeConstraint;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 
-public class RangeEffectiveStatementImpl extends EffectiveStatementBase<List<RangeConstraint>, RangeStatement> {
+public class RangeEffectiveStatementImpl extends DeclaredEffectiveStatementBase<List<RangeConstraint>, RangeStatement> {
     public RangeEffectiveStatementImpl(final StmtContext<List<RangeConstraint>, RangeStatement, ?> ctx) {
         super(ctx);
     }
index 06edda620fabb9a1f4d7c91479ce0617d3b828d6..dfc98894b8dc764cbee765ec141f51ae86ef3cbf 100644 (file)
@@ -24,9 +24,9 @@ import org.opendaylight.yangtools.yang.model.api.type.PatternConstraint;
 import org.opendaylight.yangtools.yang.model.api.type.StringTypeDefinition;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeUtils;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 
-public class StringEffectiveStatementImpl extends EffectiveStatementBase<String, TypeStatement> implements
+public class StringEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, TypeStatement> implements
         StringTypeDefinition {
 
     public static final String LOCAL_NAME = TypeUtils.STRING;
index f49f6cba14c175f18142da93a0c70146dac3fc7e..7e7dd4ef2a0096c0862f28df9901328e72a1321c 100644 (file)
@@ -9,9 +9,9 @@ package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.type;
 
 import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement.StringRestrictions;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 
-public class StringRestrictionsEffectiveStatementImpl extends EffectiveStatementBase<String, StringRestrictions> {
+public class StringRestrictionsEffectiveStatementImpl extends DeclaredEffectiveStatementBase<String, StringRestrictions> {
     public StringRestrictionsEffectiveStatementImpl(final StmtContext<String, StringRestrictions, ?> ctx) {
         super(ctx);
     }
index 41e01892cb797e80c166805197d568fd3cc8b0e2..8980ec9ee4d7b6c179b91064658b8fdfb792a2b7 100644 (file)
@@ -24,10 +24,10 @@ import org.opendaylight.yangtools.yang.model.api.type.UnionTypeDefinition;
 import org.opendaylight.yangtools.yang.model.util.UnionType;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.TypeUtils;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 
 public class UnionSpecificationEffectiveStatementImpl extends
-        EffectiveStatementBase<String, UnionSpecification> implements UnionTypeDefinition,
+        DeclaredEffectiveStatementBase<String, UnionSpecification> implements UnionTypeDefinition,
         TypeEffectiveStatement<UnionSpecification> {
 
     private static final QName QNAME = QName.create(YangConstants.RFC6020_YANG_MODULE, "union");
index f66e72fe5b8ce2efa1e1e8cbefb51f33a3879928..45f183dad8a6128fa3d01b045708af0ded345d74 100644 (file)
@@ -22,10 +22,10 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypeStatement;
 import org.opendaylight.yangtools.yang.model.api.type.RangeConstraint;
 import org.opendaylight.yangtools.yang.model.api.type.UnsignedIntegerTypeDefinition;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.EffectiveStatementBase;
+import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.DeclaredEffectiveStatementBase;
 
 abstract class UnsignedIntegerEffectiveImplBase extends
-        EffectiveStatementBase<String, TypeStatement> implements UnsignedIntegerTypeDefinition {
+        DeclaredEffectiveStatementBase<String, TypeStatement> implements UnsignedIntegerTypeDefinition {
 
     private static final String REFERENCE_INT = "https://tools.ietf.org/html/rfc6020#section-9.2";