Adding port, port number, port description implementations and related tests.
diff --git a/net/api/src/main/java/org/onlab/onos/net/device/DefaultPortDescription.java b/net/api/src/main/java/org/onlab/onos/net/device/DefaultPortDescription.java
index c171098..c434ff5 100644
--- a/net/api/src/main/java/org/onlab/onos/net/device/DefaultPortDescription.java
+++ b/net/api/src/main/java/org/onlab/onos/net/device/DefaultPortDescription.java
@@ -1,7 +1,32 @@
package org.onlab.onos.net.device;
+import com.google.common.collect.ImmutableSet;
+import org.onlab.onos.net.Port;
+import org.onlab.onos.net.PortNumber;
+
+import java.util.Set;
+
/**
* Default implementation of immutable port description.
*/
public class DefaultPortDescription implements PortDescription {
+
+ private final PortNumber number;
+ private final Set<Port.State> state;
+
+ public DefaultPortDescription(PortNumber number, Set<Port.State> state) {
+ this.number = number;
+ this.state = ImmutableSet.copyOf(state);
+ }
+
+ @Override
+ public PortNumber portNumber() {
+ return number;
+ }
+
+ @Override
+ public Set<Port.State> portState() {
+ return state;
+ }
+
}
diff --git a/net/api/src/main/java/org/onlab/onos/net/device/PortDescription.java b/net/api/src/main/java/org/onlab/onos/net/device/PortDescription.java
index 4c944ab..2f86248 100644
--- a/net/api/src/main/java/org/onlab/onos/net/device/PortDescription.java
+++ b/net/api/src/main/java/org/onlab/onos/net/device/PortDescription.java
@@ -1,5 +1,10 @@
package org.onlab.onos.net.device;
+import org.onlab.onos.net.Port;
+import org.onlab.onos.net.PortNumber;
+
+import java.util.Set;
+
/**
* Information about a port.
*/
@@ -7,4 +12,18 @@
// TODO: possibly relocate this to a common ground so that this can also used by host tracking if required
+ /**
+ * Returns the port number.
+ *
+ * @return port number
+ */
+ PortNumber portNumber();
+
+ /**
+ * Returns the port state set.
+ *
+ * @return set of port states
+ */
+ Set<Port.State> portState();
+
}