| package org.onlab.util; |
| |
| import com.google.common.base.Strings; |
| import com.google.common.primitives.UnsignedLongs; |
| import com.google.common.util.concurrent.ThreadFactoryBuilder; |
| |
| import java.util.concurrent.ThreadFactory; |
| |
| public abstract class Tools { |
| |
| private Tools() { |
| } |
| |
| /** |
| * Returns a thread factory that produces threads named according to the |
| * supplied name pattern. |
| * |
| * @param pattern name pattern |
| * @return thread factory |
| */ |
| public static ThreadFactory namedThreads(String pattern) { |
| return new ThreadFactoryBuilder().setNameFormat(pattern).build(); |
| } |
| |
| /** |
| * Converts a string from hex to long. |
| * |
| * @param string hex number in string form; sans 0x |
| * @return long value |
| */ |
| public static long fromHex(String string) { |
| return UnsignedLongs.parseUnsignedLong(string, 16); |
| } |
| |
| /** |
| * Converts a long value to hex string; 16 wide and sans 0x. |
| * |
| * @param value long value |
| * @return hex string |
| */ |
| public static String toHex(long value) { |
| return Strings.padStart(UnsignedLongs.toString(value, 16), 16, '0'); |
| } |
| |
| /** |
| * Converts a long value to hex string; 16 wide and sans 0x. |
| * |
| * @param value long value |
| * @param width string width; zero padded |
| * @return hex string |
| */ |
| public static String toHex(long value, int width) { |
| return Strings.padStart(UnsignedLongs.toString(value, 16), width, '0'); |
| } |
| } |