Deprecate 3PC protobuff messages
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / messages / EmptyReply.java
index 38a37f0ccfedbe32f162db088533cee388b912fb..7eea727a32cc3e0bf8124b4866b2fe775a09dee4 100644 (file)
@@ -14,16 +14,23 @@ import org.opendaylight.controller.cluster.datastore.DataStoreVersions;
  *
  * @author Thomas Pantelis
  */
-public abstract class EmptyReply extends EmptyExternalizable {
+public abstract class EmptyReply extends VersionedExternalizableMessage {
+    protected EmptyReply() {
+    }
+
+    protected EmptyReply(short version) {
+        super(version);
+    }
 
-    private final Object legacySerializedInstance;
+    protected abstract Object newLegacySerializedInstance();
 
-    protected EmptyReply(Object legacySerializedInstance) {
-        super();
-        this.legacySerializedInstance = legacySerializedInstance;
+    @Override
+    public Object toSerializable() {
+        return getVersion() >= DataStoreVersions.BORON_VERSION ? this : newLegacySerializedInstance();
     }
 
-    public Object toSerializable(short toVersion) {
-        return toVersion >= DataStoreVersions.LITHIUM_VERSION ? this : legacySerializedInstance;
+    @Override
+    public String toString() {
+        return getClass().getSimpleName() + " [version=" + getVersion() + "]";
     }
 }