Move {Identifiable,Persistent,}Payload
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / persisted / AbstractIdentifiablePayload.java
index 32e155bf03fc50ea89dc0932c25c51797d76af87..c5b059010eaeee33e3e51fce08865f624255ad59 100644 (file)
@@ -7,9 +7,10 @@
  */
 package org.opendaylight.controller.cluster.datastore.persisted;
 
+import static com.google.common.base.Verify.verifyNotNull;
 import static java.util.Objects.requireNonNull;
 
-import com.google.common.base.Verify;
+import com.google.common.base.MoreObjects;
 import com.google.common.io.ByteStreams;
 import java.io.DataInput;
 import java.io.Externalizable;
@@ -18,13 +19,12 @@ import java.io.ObjectInput;
 import java.io.ObjectOutput;
 import java.io.Serializable;
 import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.controller.cluster.raft.protobuff.client.messages.IdentifiablePayload;
-import org.opendaylight.controller.cluster.raft.protobuff.client.messages.Payload;
+import org.opendaylight.controller.cluster.raft.messages.IdentifiablePayload;
 import org.opendaylight.yangtools.concepts.Identifiable;
 import org.opendaylight.yangtools.concepts.Identifier;
 
 /**
- * Abstract base class for {@link Payload}s which hold a single {@link Identifier}.
+ * Abstract base class for {@link IdentifiablePayload}s which hold a single {@link Identifier}.
  *
  * @author Robert Varga
  */
@@ -32,6 +32,7 @@ public abstract class AbstractIdentifiablePayload<T extends Identifier> extends
         implements Serializable {
     protected abstract static class AbstractProxy<T extends Identifier> implements Externalizable {
         private static final long serialVersionUID = 1L;
+
         private byte[] serialized;
         private T identifier;
 
@@ -54,11 +55,11 @@ public abstract class AbstractIdentifiablePayload<T extends Identifier> extends
             final int length = in.readInt();
             serialized = new byte[length];
             in.readFully(serialized);
-            identifier = Verify.verifyNotNull(readIdentifier(ByteStreams.newDataInput(serialized)));
+            identifier = verifyNotNull(readIdentifier(ByteStreams.newDataInput(serialized)));
         }
 
         protected final Object readResolve() {
-            return Verify.verifyNotNull(createObject(identifier, serialized));
+            return verifyNotNull(createObject(identifier, serialized));
         }
 
         protected abstract @NonNull T readIdentifier(@NonNull DataInput in) throws IOException;
@@ -68,8 +69,9 @@ public abstract class AbstractIdentifiablePayload<T extends Identifier> extends
     }
 
     private static final long serialVersionUID = 1L;
-    private final byte[] serialized;
-    private final T identifier;
+
+    private final byte @NonNull [] serialized;
+    private final @NonNull T identifier;
 
     AbstractIdentifiablePayload(final @NonNull T identifier, final byte @NonNull[] serialized) {
         this.identifier = requireNonNull(identifier);
@@ -86,8 +88,13 @@ public abstract class AbstractIdentifiablePayload<T extends Identifier> extends
         return serialized.length;
     }
 
+    @Override
+    public final String toString() {
+        return MoreObjects.toStringHelper(this).add("identifier", identifier).add("size", size()).toString();
+    }
+
     protected final Object writeReplace() {
-        return Verify.verifyNotNull(externalizableProxy(serialized));
+        return verifyNotNull(externalizableProxy(serialized));
     }
 
     @SuppressWarnings("checkstyle:hiddenField")