Refactor PathArgument to DataObjectStep
[mdsal.git] / binding / mdsal-binding-dom-codec / src / main / java / org / opendaylight / mdsal / binding / dom / codec / impl / BindingToNormalizedStreamWriter.java
index d2a88f7626bef56fc05aaaa54d66dff73122014b..2bf031865aa797280b751faf408213c6175b1f9f 100644 (file)
@@ -24,10 +24,10 @@ import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.Key;
 import org.opendaylight.yangtools.yang.binding.KeyAware;
 import org.opendaylight.yangtools.yang.binding.OpaqueObject;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeWithValue;
+import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
 import org.opendaylight.yangtools.yang.model.api.DataSchemaNode;
 
@@ -37,7 +37,7 @@ final class BindingToNormalizedStreamWriter implements AnydataBindingStreamWrite
     private final @NonNull NormalizedNodeStreamWriter delegate;
     private final CodecContext rootContext;
 
-    BindingToNormalizedStreamWriter(final DataContainerCodecContext<?, ?> rootContext,
+    BindingToNormalizedStreamWriter(final DataContainerCodecContext<?, ?, ?> rootContext,
             final NormalizedNodeStreamWriter delegate) {
         this.rootContext = requireNonNull(rootContext);
         this.delegate = requireNonNull(delegate);
@@ -65,13 +65,13 @@ final class BindingToNormalizedStreamWriter implements AnydataBindingStreamWrite
     }
 
     @SuppressWarnings({"unchecked", "rawtypes"})
-    private <T extends YangInstanceIdentifier.PathArgument> T enter(final Class<?> name, final Class<T> identifier) {
+    private <T extends PathArgument> T enter(final Class<?> name, final Class<T> identifier) {
         final var current = current();
         final CodecContext next;
         if (current == null) {
             // Entry of first node
             next = rootContext;
-        } else if (current instanceof DataContainerCodecContext<?, ?> currentContainer) {
+        } else if (current instanceof DataContainerCodecContext<?, ?, ?> currentContainer) {
             next = currentContainer.getStreamChild((Class) name);
         } else {
             throw new IllegalArgumentException("Could not start node " + name + " in non-container " + current);
@@ -80,7 +80,7 @@ final class BindingToNormalizedStreamWriter implements AnydataBindingStreamWrite
         return identifier.cast(next.getDomPathArgument());
     }
 
-    private <T extends YangInstanceIdentifier.PathArgument> T enter(final String localName, final Class<T> identifier) {
+    private <T extends PathArgument> T enter(final String localName, final Class<T> identifier) {
         final var current = current();
         final var next = ((AbstractDataObjectCodecContext<?, ?>) current).getLeafChild(localName);
         schema.push(next);
@@ -97,7 +97,7 @@ final class BindingToNormalizedStreamWriter implements AnydataBindingStreamWrite
         CodecContext left = schema.pop();
         // Due to writer does not start a new node on startCase() and on startAugmentationNode()
         // node ending should not be triggered when associated endNode() is invoked.
-        if (!(left instanceof CaseNodeCodecContext) && !(left instanceof AugmentationCodecContext)) {
+        if (!(left instanceof CaseCodecContext) && !(left instanceof AugmentationCodecContext)) {
             delegate.endNode();
         }
     }