Skeletons for Intent-runtime, Flow-manager and Match-action modules.
This task is a part of ONOS-1395.
(Sub-tasks: ONOS-1397, ONOS-1398, ONOS-1400)
Change-Id: I30064f658b6c193aee8419079dad380163364475
diff --git a/src/main/java/net/onrc/onos/api/flowmanager/OpticalPathFlow.java b/src/main/java/net/onrc/onos/api/flowmanager/OpticalPathFlow.java
new file mode 100644
index 0000000..00a4785
--- /dev/null
+++ b/src/main/java/net/onrc/onos/api/flowmanager/OpticalPathFlow.java
@@ -0,0 +1,48 @@
+package net.onrc.onos.api.flowmanager;
+
+import java.util.List;
+
+import net.onrc.onos.core.matchaction.MatchActionPlan;
+import net.onrc.onos.core.matchaction.action.IAction;
+import net.onrc.onos.core.util.PortNumber;
+
+/**
+ * IFlow object representing an optical path.
+ * <p>
+ * TODO: Think this: How do we deal the optical path flow going through the
+ * regenerators? Can we express it with multiple OpticalPathFlow objects?
+ */
+public class OpticalPathFlow extends PathFlow {
+ protected int lambda;
+
+ /**
+ * Constructor.
+ *
+ * @param id ID for this new IFlow object.
+ * @param inPort Ingress port number at the ingress edge node.
+ * @param path Path between ingress and egress edge node.
+ * @param actions The list of IAction objects at the egress edge node.
+ * @param lambda The lambda to be used throughout the path.
+ */
+ public OpticalPathFlow(String id,
+ PortNumber inPort, Path path, List<IAction> actions, int lambda) {
+ super(id, null, inPort, path, actions);
+ this.lambda = lambda;
+ // TODO Auto-generated constructor stub
+ }
+
+ /**
+ * Gets lambda which is used throughout the path.
+ *
+ * @return lambda which is used throughout the path.
+ */
+ public int getLambda() {
+ return lambda;
+ }
+
+ @Override
+ public MatchActionPlan compile() {
+ // TODO Auto-generated method stub
+ return super.compile();
+ }
+}