Sprinkle @NonNull annotations
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / persisted / AbstractIdentifiablePayload.java
index 122c96938e126fd25f25bdae4b1b2a1f8d5e83a0..de9b0bba8a3acd6668fd8c0c54b7edb4d9998092 100644 (file)
@@ -7,8 +7,9 @@
  */
 package org.opendaylight.controller.cluster.datastore.persisted;
 
-import com.google.common.base.Preconditions;
-import com.google.common.base.Verify;
+import static com.google.common.base.Verify.verifyNotNull;
+import static java.util.Objects.requireNonNull;
+
 import com.google.common.io.ByteStreams;
 import java.io.DataInput;
 import java.io.Externalizable;
@@ -16,7 +17,8 @@ import java.io.IOException;
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
 import java.io.Serializable;
-import javax.annotation.Nonnull;
+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.yangtools.concepts.Identifiable;
 import org.opendaylight.yangtools.concepts.Identifier;
@@ -26,9 +28,11 @@ import org.opendaylight.yangtools.concepts.Identifier;
  *
  * @author Robert Varga
  */
-public abstract class AbstractIdentifiablePayload<T extends Identifier> extends Payload implements Identifiable<T>, Serializable {
+public abstract class AbstractIdentifiablePayload<T extends Identifier> extends IdentifiablePayload<T>
+        implements Serializable {
     protected abstract static class AbstractProxy<T extends Identifier> implements Externalizable {
         private static final long serialVersionUID = 1L;
+
         private byte[] serialized;
         private T identifier;
 
@@ -37,7 +41,7 @@ public abstract class AbstractIdentifiablePayload<T extends Identifier> extends
         }
 
         protected AbstractProxy(final byte[] serialized) {
-            this.serialized = Preconditions.checkNotNull(serialized);
+            this.serialized = requireNonNull(serialized);
         }
 
         @Override
@@ -47,28 +51,31 @@ public abstract class AbstractIdentifiablePayload<T extends Identifier> extends
         }
 
         @Override
-        public final void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException {
+        public final void readExternal(final ObjectInput in) throws IOException {
             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;
-        protected abstract @Nonnull Identifiable<T> createObject(@Nonnull T identifier, @Nonnull byte[] serialized);
+        protected abstract @NonNull T readIdentifier(@NonNull DataInput in) throws IOException;
+
+        @SuppressWarnings("checkstyle:hiddenField")
+        protected abstract @NonNull Identifiable<T> createObject(@NonNull T identifier, byte @NonNull[] serialized);
     }
 
     private static final long serialVersionUID = 1L;
-    private final byte[] serialized;
-    private final T identifier;
 
-    AbstractIdentifiablePayload(final @Nonnull T identifier, final @Nonnull byte[] serialized) {
-        this.identifier = Preconditions.checkNotNull(identifier);
-        this.serialized = Preconditions.checkNotNull(serialized);
+    private final byte @NonNull [] serialized;
+    private final @NonNull T identifier;
+
+    AbstractIdentifiablePayload(final @NonNull T identifier, final byte @NonNull[] serialized) {
+        this.identifier = requireNonNull(identifier);
+        this.serialized = requireNonNull(serialized);
     }
 
     @Override
@@ -82,8 +89,9 @@ public abstract class AbstractIdentifiablePayload<T extends Identifier> extends
     }
 
     protected final Object writeReplace() {
-        return Verify.verifyNotNull(externalizableProxy(serialized));
+        return verifyNotNull(externalizableProxy(serialized));
     }
 
-    protected abstract @Nonnull AbstractProxy<T> externalizableProxy(@Nonnull byte[] serialized);
+    @SuppressWarnings("checkstyle:hiddenField")
+    protected abstract @NonNull AbstractProxy<T> externalizableProxy(byte @NonNull[] serialized);
 }