diff options
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.java | 17 |
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 |