Prep-work to accept 32bit port number.

Change-Id: I6236d50c15a8728fb786837b9cfae8abde45b5d8
diff --git a/src/main/java/net/onrc/onos/core/util/PortNumber.java b/src/main/java/net/onrc/onos/core/util/PortNumber.java
index c4c7eed..09df247 100644
--- a/src/main/java/net/onrc/onos/core/util/PortNumber.java
+++ b/src/main/java/net/onrc/onos/core/util/PortNumber.java
@@ -39,6 +39,26 @@
     }
 
     /**
+     * Creates the unsigned 16 bit port number.
+     *
+     * @param number unsigned 16 bit port number.
+     * @return PortNumber instance
+     */
+    public static PortNumber uint16(final short number) {
+        return new PortNumber(number);
+    }
+
+    /**
+     * Creates the unsigned 32 bit port number.
+     *
+     * @param number unsigned 32 bit port number.
+     * @return PortNumber instance
+     */
+    public static PortNumber uint32(final int number) {
+        return new PortNumber(number);
+    }
+
+    /**
      * Constructor from an int.
      *
      * @param value the value to use. (Value will not be validated in any way.)
@@ -95,8 +115,7 @@
      */
     @JsonProperty("value")
     public long value() {
-        // TODO Will require masking when we start storing 32bit port number.
-        return value;
+        return 0xffffffffL & value;
     }
 
     /**