Add new cds-access-api proxies
[controller.git] / opendaylight / md-sal / cds-access-api / src / main / java / org / opendaylight / controller / cluster / access / concepts / RequestSuccess.java
index 7542c4cb3640578a0149fc8b43864ca762238f00..f7e59ed1e6597019c43a04826fc5f006fbfea7d9 100644 (file)
@@ -7,7 +7,8 @@
  */
 package org.opendaylight.controller.cluster.access.concepts;
 
-import java.io.Serial;
+import java.io.IOException;
+import java.io.ObjectOutput;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.controller.cluster.access.ABIVersion;
 import org.opendaylight.yangtools.concepts.WritableIdentifier;
@@ -17,19 +18,24 @@ import org.opendaylight.yangtools.concepts.WritableIdentifier;
  *
  * @param <T> Target identifier type
  */
-public abstract class RequestSuccess<T extends WritableIdentifier, C extends RequestSuccess<T, C>> extends
-        Response<T, C> {
-    @Serial
+public abstract class RequestSuccess<T extends WritableIdentifier, C extends RequestSuccess<T, C>>
+        extends Response<T, C> {
+    protected interface SerialForm<T extends WritableIdentifier, C extends RequestSuccess<T, C>>
+            extends Response.SerialForm<T, C> {
+        @Override
+        default void writeExternal(final ObjectOutput out, final C msg) throws IOException {
+            // Defaults to no-op
+        }
+    }
+
+    @java.io.Serial
     private static final long serialVersionUID = 1L;
 
-    protected RequestSuccess(final @NonNull C success,  final @NonNull ABIVersion version) {
+    protected RequestSuccess(final @NonNull C success, final @NonNull ABIVersion version) {
         super(success, version);
     }
 
     protected RequestSuccess(final @NonNull T target, final long sequence) {
         super(target, sequence);
     }
-
-    @Override
-    protected abstract AbstractSuccessProxy<T, C> externalizableProxy(ABIVersion version);
 }