Rework NormalizedNode type hierarchy
[yangtools.git] / yang / rfc8528-data-util / src / main / java / org / opendaylight / yangtools / rcf8528 / data / util / MountPointNormalizedNodeWriter.java
index 980f8b2b7987c5ee3ee75e2129c29e2bf4c304a0..1f2163348f2a2aa447b999ada80934e6a1690be2 100644 (file)
@@ -14,8 +14,7 @@ import com.google.common.annotations.Beta;
 import java.io.IOException;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.rfc8528.data.api.MountPointNode;
-import org.opendaylight.yangtools.rfc8528.data.api.MountPointStreamWriter;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
+import org.opendaylight.yangtools.rfc8528.data.api.StreamWriterMountPointExtension;
 import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
@@ -39,9 +38,9 @@ public abstract class MountPointNormalizedNodeWriter extends NormalizedNodeWrite
     }
 
     private static final class Forwarding extends MountPointNormalizedNodeWriter {
-        private final MountPointStreamWriter mountWriter;
+        private final StreamWriterMountPointExtension mountWriter;
 
-        Forwarding(final NormalizedNodeStreamWriter writer, final MountPointStreamWriter mountWriter) {
+        Forwarding(final NormalizedNodeStreamWriter writer, final StreamWriterMountPointExtension mountWriter) {
             super(writer);
             this.mountWriter = requireNonNull(mountWriter);
         }
@@ -50,7 +49,7 @@ public abstract class MountPointNormalizedNodeWriter extends NormalizedNodeWrite
         void writeMountPoint(final MountPointNode node) throws IOException {
             try (MountPointNormalizedNodeWriter writer = forStreamWriter(mountWriter.startMountPoint(
                     node.getIdentifier(), node.getMountPointContext()))) {
-                for (DataContainerChild<? extends PathArgument, ?> child : node.getValue()) {
+                for (DataContainerChild child : node.body()) {
                     writer.write(child);
                 }
             }
@@ -62,7 +61,8 @@ public abstract class MountPointNormalizedNodeWriter extends NormalizedNodeWrite
     }
 
     public static @NonNull MountPointNormalizedNodeWriter forStreamWriter(final NormalizedNodeStreamWriter writer) {
-        final MountPointStreamWriter mountWriter = writer.getExtensions().getInstance(MountPointStreamWriter.class);
+        final StreamWriterMountPointExtension mountWriter = writer.getExtensions()
+            .getInstance(StreamWriterMountPointExtension.class);
         return mountWriter == null ? new Filtering(writer) : new Forwarding(writer, mountWriter);
     }
 
@@ -71,13 +71,14 @@ public abstract class MountPointNormalizedNodeWriter extends NormalizedNodeWrite
     }
 
     public static @NonNull MountPointNormalizedNodeWriter forwardingFor(final NormalizedNodeStreamWriter writer) {
-        final MountPointStreamWriter mountWriter = writer.getExtensions().getInstance(MountPointStreamWriter.class);
+        final StreamWriterMountPointExtension mountWriter = writer.getExtensions()
+            .getInstance(StreamWriterMountPointExtension.class);
         checkArgument(mountWriter != null, "Writer %s does not support mount points", writer);
         return new Forwarding(writer, mountWriter);
     }
 
     @Override
-    protected final boolean wasProcessedAsCompositeNode(final NormalizedNode<?, ?> node) throws IOException {
+    protected final boolean wasProcessedAsCompositeNode(final NormalizedNode node) throws IOException {
         if (node instanceof MountPointNode) {
             writeMountPoint((MountPointNode) node);
             return true;