Improve IdentifiablePayload.toString() implementations
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / persisted / AbstractIdentifiablePayload.java
index 32e155bf03fc50ea89dc0932c25c51797d76af87..0367d15fef1c9d8556fb16d1e6beb94cc58d8737 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;
@@ -32,6 +33,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 +56,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 +70,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 +89,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")