Add Intent class and its extended classes
- Intent class is an abstract class for the intents
- ShortestPathIntent class extends Intent class that expresses shortest hop between source-destination pair
- ConstrainedShortestPathIntent class extends ShortestPathIntent class that expresses bandwidth as an additional intention to ShortestPathIntent
- PathIntent class extends Intent class that expresses path
Change-Id: Ia5e8ddb55b333841d9eb438f9eb28866f6e3e300
diff --git a/src/main/java/net/onrc/onos/intent/PathIntent.java b/src/main/java/net/onrc/onos/intent/PathIntent.java
new file mode 100644
index 0000000..22948b9
--- /dev/null
+++ b/src/main/java/net/onrc/onos/intent/PathIntent.java
@@ -0,0 +1,38 @@
+package net.onrc.onos.intent;
+
+import net.onrc.onos.ofcontroller.networkgraph.Path;
+
+/**
+ * @author Toshio Koide (t-koide@onlab.us)
+ */
+public class PathIntent extends Intent {
+ protected Path path;
+ protected Double bandwidth;
+ protected Intent parentIntent;
+
+ /**
+ *
+ * @param graph
+ * @param path
+ * @param bandwidth bandwidth which should be allocated for the path.
+ * If null, it means no intent for bandwidth allocation (best effort).
+ * @param parentIntent parent intent. If null, it means this is root intent.
+ */
+ public PathIntent(Path path, Double bandwidth, Intent parentIntent) {
+ this.path = path;
+ this.bandwidth = bandwidth;
+ this.parentIntent = parentIntent;
+ }
+
+ public Double getBandwidth() {
+ return bandwidth;
+ }
+
+ public Path getPath() {
+ return path;
+ }
+
+ public Intent getParentIntent() {
+ return parentIntent;
+ }
+}