Improve BindingNormalizedNodeSerializer API
[mdsal.git] / binding / mdsal-binding-dom-codec-spi / src / main / java / org / opendaylight / mdsal / binding / dom / codec / spi / ForwardingBindingDOMCodecServices.java
index 8b471c1133bbf1fff4b9c03bbb98b1d2902846f7..8eb9dee6a57b70711fc5fbafcdb68b4a1064be38 100644 (file)
@@ -12,14 +12,18 @@ import com.google.common.collect.ForwardingObject;
 import java.time.Instant;
 import java.util.Map.Entry;
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.binding.runtime.api.BindingRuntimeContext;
+import org.opendaylight.mdsal.binding.dom.codec.api.BindingAugmentationCodecTreeNode;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingCodecTreeNode;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingDataObjectCodecTreeNode;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingIdentityCodec;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingInstanceIdentifierCodec;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingLazyContainerNode;
 import org.opendaylight.mdsal.binding.dom.codec.api.BindingStreamEventWriter;
+import org.opendaylight.mdsal.binding.dom.codec.api.CommonDataObjectCodecTreeNode;
+import org.opendaylight.mdsal.binding.runtime.api.BindingRuntimeContext;
 import org.opendaylight.yangtools.yang.binding.Action;
+import org.opendaylight.yangtools.yang.binding.Augmentation;
+import org.opendaylight.yangtools.yang.binding.BaseNotification;
 import org.opendaylight.yangtools.yang.binding.DataContainer;
 import org.opendaylight.yangtools.yang.binding.DataObject;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
@@ -31,7 +35,6 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdent
 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.NormalizedNodeStreamWriter;
-import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Absolute;
 
 @Beta
@@ -62,16 +65,32 @@ public abstract class ForwardingBindingDOMCodecServices extends ForwardingObject
     }
 
     @Override
-    public <T extends DataObject> Entry<YangInstanceIdentifier, NormalizedNode<?,?>> toNormalizedNode(
-            final InstanceIdentifier<T> path, final T data) {
+    public <T extends DataObject> NormalizedResult toNormalizedNode(final InstanceIdentifier<T> path, final T data) {
         return delegate().toNormalizedNode(path, data);
     }
 
     @Override
-    public ContainerNode toNormalizedNodeNotification(final Notification data) {
+    public <A extends Augmentation<?>> @NonNull AugmentationResult toNormalizedAugmentation(
+            final InstanceIdentifier<A> path, final A data) {
+        return delegate().toNormalizedAugmentation(path, data);
+    }
+
+    @Override
+    public <T extends DataObject> @NonNull NodeResult toNormalizedDataObject(final InstanceIdentifier<T> path,
+            final T data) {
+        return delegate().toNormalizedDataObject(path, data);
+    }
+
+    @Override
+    public ContainerNode toNormalizedNodeNotification(final Notification<?> data) {
         return delegate().toNormalizedNodeNotification(data);
     }
 
+    @Override
+    public ContainerNode toNormalizedNodeNotification(final Absolute path, final BaseNotification data) {
+        return delegate().toNormalizedNodeNotification(path, data);
+    }
+
     @Override
     public ContainerNode toNormalizedNodeRpcData(final DataContainer data) {
         return delegate().toNormalizedNodeRpcData(data);
@@ -91,24 +110,24 @@ public abstract class ForwardingBindingDOMCodecServices extends ForwardingObject
 
     @Override
     public Entry<InstanceIdentifier<?>, DataObject> fromNormalizedNode(final YangInstanceIdentifier path,
-            final NormalizedNode<?, ?> data) {
+            final NormalizedNode data) {
         return delegate().fromNormalizedNode(path, data);
     }
 
     @Override
-    public Notification fromNormalizedNodeNotification(final SchemaPath path, final ContainerNode data) {
+    public BaseNotification fromNormalizedNodeNotification(final Absolute path, final ContainerNode data) {
         return delegate().fromNormalizedNodeNotification(path, data);
     }
 
     @Override
-    public Notification fromNormalizedNodeNotification(final SchemaPath path, final ContainerNode data,
+    public BaseNotification fromNormalizedNodeNotification(final Absolute path, final ContainerNode data,
             final Instant eventInstant) {
         return delegate().fromNormalizedNodeNotification(path, data, eventInstant);
     }
 
     @Override
-    public DataObject fromNormalizedNodeRpcData(final SchemaPath path, final ContainerNode data) {
-        return delegate().fromNormalizedNodeRpcData(path, data);
+    public DataObject fromNormalizedNodeRpcData(final Absolute containerPath, final ContainerNode data) {
+        return delegate().fromNormalizedNodeRpcData(containerPath, data);
     }
 
     @Override
@@ -136,7 +155,7 @@ public abstract class ForwardingBindingDOMCodecServices extends ForwardingObject
     }
 
     @Override
-    public BindingStreamEventWriter newNotificationWriter(final Class<? extends Notification> notification,
+    public BindingStreamEventWriter newNotificationWriter(final Class<? extends Notification<?>> notification,
             final NormalizedNodeStreamWriter streamWriter) {
         return delegate().newNotificationWriter(notification, streamWriter);
     }
@@ -156,11 +175,28 @@ public abstract class ForwardingBindingDOMCodecServices extends ForwardingObject
     @Override
     public BindingStreamEventWriter newRpcWriter(final Class<? extends DataContainer> rpcInputOrOutput,
             final NormalizedNodeStreamWriter streamWriter) {
-        return delegate().newRpcWriter(rpcInputOrOutput,streamWriter);
+        return delegate().newRpcWriter(rpcInputOrOutput, streamWriter);
     }
 
     @Override
-    public <T extends DataObject> BindingDataObjectCodecTreeNode<T> getSubtreeCodec(final InstanceIdentifier<T> path) {
+    public <T extends DataObject> CodecWithPath<T> getSubtreeCodecWithPath(final InstanceIdentifier<T> path) {
+        return delegate().getSubtreeCodecWithPath(path);
+    }
+
+    @Override
+    public <A extends Augmentation<?>> BindingAugmentationCodecTreeNode<A> getAugmentationCodec(
+            final InstanceIdentifier<A> path) {
+        return delegate().getAugmentationCodec(path);
+    }
+
+    @Override
+    public <T extends DataObject> BindingDataObjectCodecTreeNode<T> getDataObjectCodec(
+            final InstanceIdentifier<T> path) {
+        return delegate().getDataObjectCodec(path);
+    }
+
+    @Override
+    public <T extends DataObject> CommonDataObjectCodecTreeNode<T> getSubtreeCodec(final InstanceIdentifier<T> path) {
         return delegate().getSubtreeCodec(path);
     }
 
@@ -188,4 +224,9 @@ public abstract class ForwardingBindingDOMCodecServices extends ForwardingObject
     public BindingRuntimeContext getRuntimeContext() {
         return delegate().getRuntimeContext();
     }
+
+    @Override
+    public <E extends DataObject> CommonDataObjectCodecTreeNode<E> streamChild(final Class<E> childClass) {
+        return delegate().streamChild(childClass);
+    }
 }