aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/core/api/src/main/java/org/onosproject/net/group/DefaultGroupKey.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/core/api/src/main/java/org/onosproject/net/group/DefaultGroupKey.java')
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/net/group/DefaultGroupKey.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/net/group/DefaultGroupKey.java b/framework/src/onos/core/api/src/main/java/org/onosproject/net/group/DefaultGroupKey.java
index 7f00ae70..e1eacd1e 100644
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/net/group/DefaultGroupKey.java
+++ b/framework/src/onos/core/api/src/main/java/org/onosproject/net/group/DefaultGroupKey.java
@@ -25,6 +25,7 @@ import java.util.Arrays;
public class DefaultGroupKey implements GroupKey {
private final byte[] key;
+ protected static final char[] HEX_ARRAY = "0123456789ABCDEF".toCharArray();
public DefaultGroupKey(byte[] key) {
this.key = checkNotNull(key);
@@ -52,4 +53,20 @@ public class DefaultGroupKey implements GroupKey {
return Arrays.hashCode(this.key);
}
+ /**
+ * Returns a hex string representation of the byte array that is used
+ * as a group key. This solution was adapted from
+ * http://stackoverflow.com/questions/9655181/
+ */
+ @Override
+ public String toString() {
+ char[] hexChars = new char[key.length * 2];
+ for (int j = 0; j < key.length; j++) {
+ int v = key[j] & 0xFF;
+ hexChars[j * 2] = HEX_ARRAY[v >>> 4];
+ hexChars[j * 2 + 1] = HEX_ARRAY[v & 0x0F];
+ }
+ return "GroupKey:0x" + new String(hexChars);
+ }
+
} \ No newline at end of file