Update compile method's interface for Flow objects.

- The compile method of Flow objects requires:
 -- MatchActionIdGenerator
 -- MatchActionOperationsIdGenerator
- This task is a preparation for ONOS-1741, ONOS-1841, ONOS-1690 and ONOS-1692.

Change-Id: Iaa6919c5accf943763ff0ad11f2d089912f08a0a
diff --git a/src/main/java/net/onrc/onos/api/flowmanager/Flow.java b/src/main/java/net/onrc/onos/api/flowmanager/Flow.java
index ae3cb7e..202511d 100644
--- a/src/main/java/net/onrc/onos/api/flowmanager/Flow.java
+++ b/src/main/java/net/onrc/onos/api/flowmanager/Flow.java
@@ -5,7 +5,9 @@
 import java.util.List;
 
 import net.onrc.onos.api.batchoperation.BatchOperationTarget;
+import net.onrc.onos.core.matchaction.MatchActionIdGenerator;
 import net.onrc.onos.core.matchaction.MatchActionOperations;
+import net.onrc.onos.core.matchaction.MatchActionOperationsIdGenerator;
 import net.onrc.onos.core.matchaction.match.Match;
 
 /**
@@ -46,10 +48,19 @@
      * This method is called by FlowManagerModule to create MatchAction
      * operations.
      *
-     * @param op FlowBatchOperation.Operator to be used for compiling this object
-     * @return a list of MatchActionOperations objects to realize this flow
+     * @param op {@link FlowBatchOperation}'s operator to be used for compiling
+     *        this object
+     * @param maIdGenerator ID generator to be used for generating MatchAction
+     *        objects.
+     * @param maoIdGenerator ID generator to be used for generating
+     *        {@link MatchActionOperations} objects.
+     * @return a list of {@link MatchActionOperations} objects to realize this
+     *         flow
      */
-    public abstract List<MatchActionOperations> compile(FlowBatchOperation.Operator op);
+    public abstract List<MatchActionOperations> compile(
+            FlowBatchOperation.Operator op,
+            MatchActionIdGenerator maIdGenerator,
+            MatchActionOperationsIdGenerator maoIdGenerator);
 
     /**
      * Generates a hash code using the FlowId.