Rework NormalizedNode type hierarchy
[yangtools.git] / yang / yang-data-impl / src / main / java / org / opendaylight / yangtools / yang / data / impl / schema / ImmutableMountPointNormalizedNodeStreamWriter.java
index 42ffd3df8aca5b1b8d0ab30693352a83a18d1724..38bc4121633ade1b84235dfdc098f477a82ec166 100644 (file)
@@ -9,16 +9,14 @@ package org.opendaylight.yangtools.yang.data.impl.schema;
 
 import com.google.common.annotations.Beta;
 import com.google.common.collect.ClassToInstanceMap;
+import com.google.common.collect.ImmutableClassToInstanceMap;
 import java.io.IOException;
-import org.opendaylight.yangtools.concepts.ObjectExtensions;
-import org.opendaylight.yangtools.concepts.ObjectExtensions.Factory;
 import org.opendaylight.yangtools.rcf8528.data.util.ImmutableMountPointNode;
 import org.opendaylight.yangtools.rfc8528.data.api.MountPointContext;
 import org.opendaylight.yangtools.rfc8528.data.api.MountPointIdentifier;
-import org.opendaylight.yangtools.rfc8528.data.api.MountPointStreamWriter;
+import org.opendaylight.yangtools.rfc8528.data.api.StreamWriterMountPointExtension;
 import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
 import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
-import org.opendaylight.yangtools.yang.data.api.schema.stream.AnydataExtension;
 import org.opendaylight.yangtools.yang.data.api.schema.stream.ForwardingNormalizedNodeStreamWriter;
 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter;
 import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriterExtension;
@@ -26,18 +24,14 @@ import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStre
 // FIXME: document usage of this
 @Beta
 public abstract class ImmutableMountPointNormalizedNodeStreamWriter extends ImmutableNormalizedNodeStreamWriter
-        implements MountPointStreamWriter {
-    private static final Factory<ImmutableMountPointNormalizedNodeStreamWriter, ?, NormalizedNodeStreamWriterExtension>
-        EXTENSIONS_FACTORY = ObjectExtensions.factory(ImmutableMountPointNormalizedNodeStreamWriter.class,
-            AnydataExtension.class, MountPointStreamWriter.class);
-
+        implements StreamWriterMountPointExtension {
     protected ImmutableMountPointNormalizedNodeStreamWriter(final NormalizedNodeResult result) {
         super(result);
     }
 
     @Override
     public final ClassToInstanceMap<NormalizedNodeStreamWriterExtension> getExtensions() {
-        return EXTENSIONS_FACTORY.newInstance(this);
+        return ImmutableClassToInstanceMap.of(StreamWriterMountPointExtension.class, this);
     }
 
     @Override
@@ -56,7 +50,7 @@ public abstract class ImmutableMountPointNormalizedNodeStreamWriter extends Immu
             public void close() throws IOException {
                 super.close();
 
-                final NormalizedNode<?, ?> data = mountResult.getResult();
+                final NormalizedNode data = mountResult.getResult();
                 if (!(data instanceof ContainerNode)) {
                     throw new IOException("Unhandled mount data " + data);
                 }