Implement event listeners of the FlowManager.
- This commit adds two types of event objects: FlowBatchStateChangedEvent and FlowStatesChangedEvent.
- Listeners for these objects are defined by FlowManagerListener interface.
- FlowBatchStateChangedEvent notifies state changes of the flow batch operation.
-- The state is defined by FlowBatchState.
- FlowStatesChangedEvent notifies state changes of the set of Flow objects.
-- The state is defined by FlowState.
- This task is a part of ONOS-1739.
Change-Id: Ie8b3bb1c58dbe6bc608936e4a269e1de12dee96c
diff --git a/src/main/java/net/onrc/onos/api/flowmanager/FlowBatchHandle.java b/src/main/java/net/onrc/onos/api/flowmanager/FlowBatchHandle.java
new file mode 100644
index 0000000..166a12f
--- /dev/null
+++ b/src/main/java/net/onrc/onos/api/flowmanager/FlowBatchHandle.java
@@ -0,0 +1,29 @@
+package net.onrc.onos.api.flowmanager;
+
+/**
+ * Handle class to handle flow batch operation.
+ */
+public class FlowBatchHandle {
+ private final FlowBatchId batchId;
+
+ /**
+ * Creates a handle using batch operation ID.
+ * <p>
+ * The ID is automatically generated and assigned by FlowManager, and used
+ * as an internal key for the flow batch operation map.
+ *
+ * @param id the batch operation ID
+ */
+ public FlowBatchHandle(FlowBatchId id) {
+ batchId = id;
+ }
+
+ /**
+ * Gets the flow batch operation ID.
+ *
+ * @return the flow batch operation ID
+ */
+ public FlowBatchId getBatchOperationId() {
+ return batchId;
+ }
+}