001package squidpony;
002
003import squidpony.squidmath.CrossHash;
004
005/**
006 * Various utility functions for making toString implementations easier.
007 * Created by Tommy Ettinger on 3/21/2016.
008 */
009public class StringKit {
010    public static final String mask16 = "0000000000000000", mask8 = "00000000";
011    public static String hex(long number)
012    {
013        String h = Long.toHexString(number);
014        return mask16.substring(0, 16 - h.length()) + h;
015    }
016    public static String hex(int number)
017    {
018        String h = Integer.toHexString(number);
019        return mask8.substring(0, 8 - h.length()) + h;
020    }
021    public static String hex(short number)
022    {
023        String h = Integer.toHexString(number);
024        return mask8.substring(4, 8 - h.length()) + h;
025    }
026    public static String hex(byte number)
027    {
028        String h = Integer.toHexString(number);
029        return mask8.substring(6, 8 - h.length()) + h;
030    }
031    public static String hexHash(boolean... array)
032    {
033        return hex(CrossHash.hash(array));
034    }
035    public static String hexHash(byte... array)
036    {
037        return hex(CrossHash.hash(array));
038    }
039    public static String hexHash(short... array)
040    {
041        return hex(CrossHash.hash(array));
042    }
043    public static String hexHash(char... array)
044    {
045        return hex(CrossHash.hash(array));
046    }
047    public static String hexHash(int... array)
048    {
049        return hex(CrossHash.hash(array));
050    }
051    public static String hexHash(long... array)
052    {
053        return hex(CrossHash.hash(array));
054    }
055
056}