Change FlowBatchHandle to be interface class.

- Users can access to the shared flow batch operation map
  using the FlowBatchHandle.
- FlowBatchHandle is an interface and the instance of it
  can be obtained from APIs defined by FlowManagerService.
- The implementation of the map can be accessed only from
  the implementation of the FlowBatchHandle.
- This task is a part of ONOS-1692 and ONOS-1842.

Change-Id: I651a2886d166765ca5aae6abcc2b844153ffb2bc
diff --git a/src/main/java/net/onrc/onos/api/flowmanager/FlowBatchOperation.java b/src/main/java/net/onrc/onos/api/flowmanager/FlowBatchOperation.java
index 71d5378..f59bee5 100644
--- a/src/main/java/net/onrc/onos/api/flowmanager/FlowBatchOperation.java
+++ b/src/main/java/net/onrc/onos/api/flowmanager/FlowBatchOperation.java
@@ -1,5 +1,7 @@
 package net.onrc.onos.api.flowmanager;
 
+import java.util.List;
+
 import net.onrc.onos.api.batchoperation.BatchOperation;
 import net.onrc.onos.api.batchoperation.BatchOperationEntry;
 
@@ -24,6 +26,24 @@
     }
 
     /**
+     * Creates new {@link FlowBatchOperation} object.
+     */
+    public FlowBatchOperation() {
+        super();
+    }
+
+    /**
+     * Creates new {@link FlowBatchOperation} object from a list of flow batch
+     * operation entries.
+     *
+     * @param batchOperations the list of flow batch operation entries
+     */
+    public FlowBatchOperation(
+            List<BatchOperationEntry<FlowBatchOperation.Operator, ?>> batchOperations) {
+        super(batchOperations);
+    }
+
+    /**
      * Adds an add-flow operation.
      *
      * @param flow the flow to be added