Move StatementNamespace to yang.binding.contract 52/108952/3
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 14 Nov 2023 14:17:12 +0000 (15:17 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 14 Nov 2023 15:00:00 +0000 (16:00 +0100)
This enumeration forms a part of the binding naming contract, move it to
yang-binding.

Change-Id: I8fe170d5791ff36c5c1728b0ea7112b178e3d808
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
23 files changed:
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/AbstractAugmentGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ActionGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CamelCaseNamingStrategy.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/CaseGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ChoiceGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ContainerGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/FeatureGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/Generator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/GroupingGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/IdentityGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/InputGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/KeyGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/LeafGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/LeafListGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ListGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/ModuleGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/NotificationGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/OpaqueObjectGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/OutputGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/RpcGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/TypedefGenerator.java
binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/YangDataGenerator.java
binding/yang-binding/src/main/java/org/opendaylight/yangtools/yang/binding/contract/StatementNamespace.java [moved from binding/mdsal-binding-generator/src/main/java/org/opendaylight/mdsal/binding/generator/impl/reactor/StatementNamespace.java with 82% similarity]

index 5c5ccbc6bc7116fb7035546fa1714047f7bc4d31..c8ee4d9327a16adc1f1601bb06b41ad93a8b4795 100644 (file)
@@ -28,6 +28,7 @@ import org.opendaylight.mdsal.binding.runtime.api.AugmentRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.CaseRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.RuntimeType;
 import org.opendaylight.yangtools.odlext.model.api.AugmentIdentifierEffectiveStatement;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.common.AbstractQName;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
index e9da8319c775b02442e3777c51270123fd836ec3..f4849f151a63bba8ccba36792a8598246d3e75ef 100644 (file)
@@ -15,6 +15,7 @@ import org.opendaylight.mdsal.binding.model.api.Type;
 import org.opendaylight.mdsal.binding.model.ri.BindingTypes;
 import org.opendaylight.mdsal.binding.runtime.api.ActionRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.RuntimeType;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.model.api.stmt.ActionEffectiveStatement;
 
 /**
index 2a49c34bbaa7c0d345af391b94e08426445be733..4d8e3ab442e1dcde0bd6554ac7f07f28d73b20f1 100644 (file)
@@ -12,6 +12,7 @@ import static java.util.Objects.requireNonNull;
 import com.google.common.base.MoreObjects.ToStringHelper;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.NonNullByDefault;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.common.AbstractQName;
 
 @NonNullByDefault
index 6d5eeceff8f3fe4b3ab7ac66fbc38b8a881fb3f2..ce211f0d263f6492d089b09ed044e595798ce649 100644 (file)
@@ -17,6 +17,7 @@ import org.opendaylight.mdsal.binding.model.ri.BindingTypes;
 import org.opendaylight.mdsal.binding.runtime.api.AugmentRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.CaseRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.RuntimeType;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.model.api.stmt.CaseEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack;
 
index 390bc1cab75dc065cabf0c72b7e0d25865197bf2..cd8a08ffbfcc0bb66ac0921a761631297197d063 100644 (file)
@@ -20,6 +20,7 @@ import org.opendaylight.mdsal.binding.runtime.api.AugmentRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.CaseRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.ChoiceRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.RuntimeType;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.stmt.ChoiceEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack;
index 9cec1ea31e2bb5d38a0b377389daa0b79920efe1..e62abb5181ad8a7c65702a3e3b408b7cfb426ab0 100644 (file)
@@ -19,6 +19,7 @@ import org.opendaylight.mdsal.binding.runtime.api.AugmentRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.ContainerRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.RuntimeType;
 import org.opendaylight.yangtools.yang.binding.contract.Naming;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.model.api.stmt.ContainerEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.PresenceEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack;
index 2ea063b6985d06e2e522f787c56bf55c16f6840b..79142b5298ecadf12d0b6037e899f93a5360c431 100644 (file)
@@ -17,6 +17,7 @@ import org.opendaylight.mdsal.binding.model.ri.BindingTypes;
 import org.opendaylight.mdsal.binding.runtime.api.FeatureRuntimeType;
 import org.opendaylight.yangtools.yang.binding.YangFeature;
 import org.opendaylight.yangtools.yang.binding.contract.Naming;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.model.api.stmt.FeatureEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack;
 
index abb7626b64a48dfdafcc3552c83f469fbdc0cda6..5158d576acadfc9b907e8209eca26038949de05e 100644 (file)
@@ -38,6 +38,7 @@ import org.opendaylight.mdsal.binding.model.ri.Types;
 import org.opendaylight.mdsal.binding.model.ri.generated.type.builder.GeneratedPropertyBuilderImpl;
 import org.opendaylight.yangtools.yang.binding.DataContainer;
 import org.opendaylight.yangtools.yang.binding.contract.Naming;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.model.api.DocumentedNode.WithStatus;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
index 74ca6074c03b72a935c311b20e84a3ef5d67883d..8697f97bc39a1d1aeb2e28ce457229bbc4067a1e 100644 (file)
@@ -18,6 +18,7 @@ import org.opendaylight.mdsal.binding.model.ri.BindingTypes;
 import org.opendaylight.mdsal.binding.runtime.api.AugmentRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.GroupingRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.RuntimeType;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.model.api.stmt.GroupingEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack;
 
index b55a677de1b12f707c4a8b54c0796bb53898f99c..26814de84df06e3722e4381f8b7e7ea34661a8ae 100644 (file)
@@ -19,6 +19,7 @@ import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilde
 import org.opendaylight.mdsal.binding.runtime.api.IdentityRuntimeType;
 import org.opendaylight.yangtools.yang.binding.BaseIdentity;
 import org.opendaylight.yangtools.yang.binding.contract.Naming;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.model.api.stmt.BaseEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.IdentityEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack;
index b70a50f059cd4142e9c9717a458560d9eefe92d9..37745e3036da4c737ab518bc841490e8b66f5b9d 100644 (file)
@@ -15,6 +15,7 @@ import org.opendaylight.mdsal.binding.model.ri.BindingTypes;
 import org.opendaylight.mdsal.binding.runtime.api.AugmentRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.InputRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.RuntimeType;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.model.api.stmt.InputEffectiveStatement;
 
 /**
index b932b8746802d48b285624050510c5c39d9a4fce..ce49587314006061acddd6e6f79b28e4a2468eb7 100644 (file)
@@ -18,6 +18,7 @@ import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilde
 import org.opendaylight.mdsal.binding.model.ri.BindingTypes;
 import org.opendaylight.mdsal.binding.runtime.api.KeyRuntimeType;
 import org.opendaylight.yangtools.yang.binding.contract.Naming;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.stmt.KeyEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack;
index bac8144ff5f252da8486441d81ec9567c33c66ba..c5ca58868f0e093edbaf0a4560a00453ac7b5a82 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.mdsal.binding.generator.impl.reactor;
 import org.opendaylight.mdsal.binding.generator.impl.rt.DefaultLeafRuntimeType;
 import org.opendaylight.mdsal.binding.model.api.Type;
 import org.opendaylight.mdsal.binding.runtime.api.LeafRuntimeType;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.model.api.stmt.LeafEffectiveStatement;
 
 /**
index 8ef9c9a4a469fc865c2890f38310758f73bba185..30a6c2d6d022e30ea3c649bcbb07935b3eb11bb4 100644 (file)
@@ -11,6 +11,7 @@ import org.opendaylight.mdsal.binding.generator.impl.rt.DefaultLeafListRuntimeTy
 import org.opendaylight.mdsal.binding.model.api.Type;
 import org.opendaylight.mdsal.binding.model.ri.Types;
 import org.opendaylight.mdsal.binding.runtime.api.LeafListRuntimeType;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.common.Ordering;
 import org.opendaylight.yangtools.yang.model.api.stmt.LeafListEffectiveStatement;
 
index 9ddc4da25ee6b7ea0bed3d8e0709692be308583a..c318b92a6520df5a6b62bb70878bce77982fda4c 100644 (file)
@@ -24,6 +24,7 @@ import org.opendaylight.mdsal.binding.runtime.api.KeyRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.ListRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.RuntimeType;
 import org.opendaylight.yangtools.yang.binding.contract.Naming;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.common.Ordering;
 import org.opendaylight.yangtools.yang.model.api.stmt.KeyEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.ListEffectiveStatement;
index 69b526e6025ead96e81650ddee308f275f251d51..fb14fb70b5daefed49beffc5217579931d1618fd 100644 (file)
@@ -26,6 +26,7 @@ import org.opendaylight.mdsal.binding.runtime.api.ModuleRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.RuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.YangDataRuntimeType;
 import org.opendaylight.yangtools.yang.binding.contract.Naming;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.common.AbstractQName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.common.YangDataName;
index 52b4ae7dda381818e57a7511adc7310de1dcca4f..897119180eb49680eba48b796c8a904df44d5867 100644 (file)
@@ -17,6 +17,7 @@ import org.opendaylight.mdsal.binding.model.ri.BindingTypes;
 import org.opendaylight.mdsal.binding.runtime.api.AugmentRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.NotificationRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.RuntimeType;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.model.api.stmt.NotificationEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack;
 
index 52aa886c9335f98beeb84204b75c7b8c70bc9e5a..3c2dc07662a0f8d6b00a156051b684f0bd1ca492 100644 (file)
@@ -19,6 +19,7 @@ import org.opendaylight.mdsal.binding.model.ri.BindingTypes;
 import org.opendaylight.mdsal.binding.runtime.api.AnydataRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.AnyxmlRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.OpaqueRuntimeType;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.model.api.stmt.AnydataEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.AnyxmlEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.DataTreeEffectiveStatement;
index 864cb00073fbd40a7151ab3f92551e7939812207..39d03628c262bfffcbb235e9f3587026b6f2db5e 100644 (file)
@@ -15,6 +15,7 @@ import org.opendaylight.mdsal.binding.model.ri.BindingTypes;
 import org.opendaylight.mdsal.binding.runtime.api.AugmentRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.OutputRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.RuntimeType;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.model.api.stmt.OutputEffectiveStatement;
 
 /**
index 67d1ac25b330203631c18be7cd34c1410da02cbd..340ba42115bfbed54a46471ef9ca21d46b2ab514 100644 (file)
@@ -14,6 +14,7 @@ import org.opendaylight.mdsal.binding.model.api.ParameterizedType;
 import org.opendaylight.mdsal.binding.model.ri.BindingTypes;
 import org.opendaylight.mdsal.binding.runtime.api.RpcRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.RuntimeType;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.model.api.stmt.RpcEffectiveStatement;
 
 /**
index 6b0e06271ac7ab0fa0b40b3649ecdd03a10912ae..c77394bd63be5eef14a56f442d7be9ce8230a213 100644 (file)
@@ -23,6 +23,7 @@ import org.opendaylight.mdsal.binding.model.api.type.builder.GeneratedTypeBuilde
 import org.opendaylight.mdsal.binding.model.ri.TypeConstants;
 import org.opendaylight.mdsal.binding.model.ri.Types;
 import org.opendaylight.mdsal.binding.runtime.api.TypedefRuntimeType;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.model.api.TypeDefinition;
 import org.opendaylight.yangtools.yang.model.api.stmt.TypedefEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.type.BitsTypeDefinition;
index 5f097171d3eedab4ed6aa55b1c840f1839ae32b0..80f8ffd402e0c5f18d8734e03a43c27e55db5d2e 100644 (file)
@@ -21,6 +21,7 @@ import org.opendaylight.mdsal.binding.runtime.api.AugmentRuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.RuntimeType;
 import org.opendaylight.mdsal.binding.runtime.api.YangDataRuntimeType;
 import org.opendaylight.yangtools.rfc8040.model.api.YangDataEffectiveStatement;
+import org.opendaylight.yangtools.yang.binding.contract.StatementNamespace;
 import org.opendaylight.yangtools.yang.common.UnresolvedQName;
 import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified;
 import org.opendaylight.yangtools.yang.model.util.SchemaInferenceStack;
@@ -5,7 +5,7 @@
  * 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.mdsal.binding.generator.impl.reactor;
+package org.opendaylight.yangtools.yang.binding.contract;
 
 import static com.google.common.base.Verify.verify;
 import static java.util.Objects.requireNonNull;
@@ -15,8 +15,7 @@ import org.eclipse.jdt.annotation.NonNull;
 /**
  * <a href="https://www.rfc-editor.org/rfc/rfc6020#section-6.2.1">YANG statement namespaces</a> which we process.
  */
-// FIXME: move this to 'BindingNamespace' in binding-spec-util
-enum StatementNamespace {
+public enum StatementNamespace {
     /**
      * The namespace of all {@code feature} statements, bullet 3.
      */
@@ -55,20 +54,18 @@ enum StatementNamespace {
     LEAF_LIST("$LL", true),
     /**
      * The namespace for a {@code list}'s {@code key} statement. This typically does not conflict, but could in case of
-     * <code>
-     *   <pre>
-     *     module foo {
-     *       list foo { // results Foo
-     *         key bar;  // triggers FooKey as a sibling to Foo
-     *         leaf bar {
-     *           type string;
-     *         }
+     * <pre>{@code
+     *   module foo {
+     *     list foo { // results Foo
+     *       key bar;  // triggers FooKey as a sibling to Foo
+     *       leaf bar {
+     *         type string;
      *       }
-     *
-     *       container foo-key; // results in FooKey
      *     }
-     *   </pre>
-     * </code>
+     *
+     *     container foo-key; // results in FooKey
+     *   }
+     * }</pre>
      * In this case the key-derived FooKey gets shifted to {@code $KE}.
      */
     KEY("$KE", true),
@@ -77,13 +74,11 @@ enum StatementNamespace {
     RPC("$RP", true),
     /**
      * The namespace for a {@code module}'s data root interface. This typically does not conflict, but could in case of
-     * <code>
-     *   <pre>
+     * <pre>{@code
      *     module foo { // results in FooData
      *       container foo-data; // results in FooData as well
      *     }
-     *   </pre>
-     * </code>
+     * }</pre>
      * In this case the module-derived FooData gets shifted to {@code $D}.
      */
     DATA_ROOT("$D", true);
@@ -101,11 +96,11 @@ enum StatementNamespace {
         this.resistant = resistant;
     }
 
-    @NonNull String suffix() {
+    public @NonNull String suffix() {
         return suffix;
     }
 
-    boolean resistant() {
+    public boolean resistant() {
         return resistant;
     }
 }