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.