ONOS-1846 Added new class TopologyBatchOperation that can be used to
represent mixed sequence of topology event operations.

Added Kryo serialization unit test for the new class.

Also, added methods equals(), hashCode() and toString() to
classes BatchOperation and BatchOperationEntry.

Change-Id: I8c91499c95a48ba68ca6ff99c0ec613c951dd648
diff --git a/src/main/java/net/onrc/onos/api/batchoperation/BatchOperationEntry.java b/src/main/java/net/onrc/onos/api/batchoperation/BatchOperationEntry.java
index 9c15d31..928a502 100644
--- a/src/main/java/net/onrc/onos/api/batchoperation/BatchOperationEntry.java
+++ b/src/main/java/net/onrc/onos/api/batchoperation/BatchOperationEntry.java
@@ -1,5 +1,7 @@
 package net.onrc.onos.api.batchoperation;
 
+import com.google.common.base.Objects;
+
 /**
  * A super class for batch operation entry classes.
  * <p>
@@ -47,4 +49,31 @@
     public T getOperator() {
         return operator;
     }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) {
+            return true;
+        }
+        if (o == null || getClass() != o.getClass()) {
+            return false;
+        }
+
+        BatchOperationEntry<?, ?> other = (BatchOperationEntry<?, ?>) o;
+        return (this.operator == other.operator) &&
+            Objects.equal(this.target, other.target);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hashCode(operator, target);
+    }
+
+    @Override
+    public String toString() {
+        return Objects.toStringHelper(this)
+            .add("operator", operator)
+            .add("target", target)
+            .toString();
+    }
 }