summaryrefslogtreecommitdiffstats
path: root/framework/src/onos/utils/misc/src/main/java/org/onlab/util/HexString.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/utils/misc/src/main/java/org/onlab/util/HexString.java')
-rw-r--r--framework/src/onos/utils/misc/src/main/java/org/onlab/util/HexString.java148
1 files changed, 0 insertions, 148 deletions
diff --git a/framework/src/onos/utils/misc/src/main/java/org/onlab/util/HexString.java b/framework/src/onos/utils/misc/src/main/java/org/onlab/util/HexString.java
deleted file mode 100644
index 962e1119..00000000
--- a/framework/src/onos/utils/misc/src/main/java/org/onlab/util/HexString.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright 2014-2015 Open Networking Laboratory
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.onlab.util;
-
-public final class HexString {
-
- private HexString() {
- }
-
- /**
- * Convert a byte array to a colon-separated hex string.
- *
- * @param bytes byte array to be converted
- * @return converted colon-separated hex string, e.g. "0f:ca:fe:de:ad:be:ef",
- * or "(null)" if given byte array is null
- */
- public static String toHexString(final byte[] bytes) {
- return toHexString(bytes, ":");
- }
-
- /**
- * Convert a byte array to a hex string separated by given separator.
- *
- * @param bytes byte array to be converted
- * @param separator the string use to separate each byte
- * @return converted hex string, or "(null)" if given byte array is null
- */
- public static String toHexString(final byte[] bytes, String separator) {
- if (bytes == null) {
- return "(null)";
- }
- if (separator == null) {
- separator = "";
- }
- int i;
- StringBuilder ret = new StringBuilder(bytes.length * 3 - 1);
- String tmp;
- for (i = 0; i < bytes.length; i++) {
- if (i > 0) {
- ret.append(separator);
- }
- tmp = Integer.toHexString((bytes[i] & 0xff));
- if (tmp.length() == 1) {
- ret.append('0');
- }
- ret.append(tmp);
- }
- return ret.toString();
- }
-
- /**
- * Convert a long number to colon-separated hex string.
- * Prepend zero padding until given length.
- *
- * @param val long number to be converted
- * @param padTo prepend zeros until this length
- * @return converted colon-separated hex string, e.g. "0f:ca:fe:de:ad:be:ef"
- */
- public static String toHexString(final long val, final int padTo) {
- char[] arr = Long.toHexString(val).toCharArray();
- StringBuilder ret = new StringBuilder(padTo * 3 - 1);
- // prepend the right number of leading zeros
- int i = 0;
- for (; i < (padTo * 2 - arr.length); i++) {
- ret.append('0');
- if ((i % 2) != 0) {
- ret.append(':');
- }
- }
- for (int j = 0; j < arr.length; j++) {
- ret.append(arr[j]);
- if ((((i + j) % 2) != 0) && (j < (arr.length - 1))) {
- ret.append(':');
- }
- }
- return ret.toString();
- }
-
- /**
- * Convert a long number to colon-separated hex string.
- * Prepend zero padding until 8 bytes.
- *
- * @param val long number to be converted
- * @return converted colon-separated hex string, e.g. "0f:ca:fe:de:ad:be:ef"
- */
- public static String toHexString(final long val) {
- return toHexString(val, 8);
- }
-
- /**
- * Convert a colon-separated hex string to byte array.
- *
- * @param values colon-separated hex string to be converted,
- * e.g. "0f:ca:fe:de:ad:be:ef"
- * @return converted byte array
- * @throws NumberFormatException if input hex string cannot be parsed
- */
- public static byte[] fromHexString(final String values) {
- String[] octets = values.split(":");
- byte[] ret = new byte[octets.length];
-
- for (int i = 0; i < octets.length; i++) {
- if (octets[i].length() > 2) {
- throw new NumberFormatException("Invalid octet length");
- }
- ret[i] = Integer.valueOf(octets[i], 16).byteValue();
- }
- return ret;
- }
-
- /**
- * Convert a colon-separated hex string to long.
- *
- * @param value colon-separated hex string to be converted,
- * e.g. "00:0f:ca:fe:de:ad:be:ef"
- * @return converted long number
- * @throws NumberFormatException if input hex string cannot be parsed
- */
- public static long toLong(String value) {
- String[] octets = value.split(":");
- if (octets.length > 8) {
- throw new NumberFormatException("Input string is too big to fit in long: " + value);
- }
- long l = 0;
- for (String octet: octets) {
- if (octet.length() > 2) {
- throw new NumberFormatException(
- "Each colon-separated byte component must consist of 1 or 2 hex digits: " + value);
- }
- short s = Short.parseShort(octet, 16);
- l = (l << 8) + s;
- }
- return l;
- }
-}