Class UlidUtil


  • public final class UlidUtil
    extends Object
    • Field Detail

      • ALPHABET_CROCKFORD

        protected static final char[] ALPHABET_CROCKFORD
      • ALPHABET_JAVA

        protected static final char[] ALPHABET_JAVA
    • Method Detail

      • extractTimestamp

        public static long extractTimestamp​(String ulid)
      • extractInstant

        public static Instant extractInstant​(String ulid)
      • extractTimestampComponent

        public static String extractTimestampComponent​(String ulid)
      • extractRandomnessComponent

        public static String extractRandomnessComponent​(String ulid)
      • extractUnixMilliseconds

        protected static long extractUnixMilliseconds​(String ulid)
      • toNumber

        public static long toNumber​(byte[] bytes)
        Get a number from a given array of bytes.
        Parameters:
        bytes - a byte array
        Returns:
        a long
      • toNumber

        public static long toNumber​(byte[] bytes,
                                    int start,
                                    int end)
      • toBytes

        protected static byte[] toBytes​(long number)
        Get an array of bytes from a given number.
        Parameters:
        number - a long value
        Returns:
        a byte array
      • removeHyphens

        protected static char[] removeHyphens​(char[] input)
      • toBase32Crockford

        public static char[] toBase32Crockford​(long number)
      • fromBase32Crockford

        public static long fromBase32Crockford​(char[] chars)
      • isCrockfordBase32

        protected static boolean isCrockfordBase32​(char[] chars)
      • isCrockfordBase32

        protected static boolean isCrockfordBase32​(char c)
      • zerofill

        protected static char[] zerofill​(char[] chars,
                                         int length)
      • lpad

        protected static char[] lpad​(char[] chars,
                                     int length,
                                     char fill)
      • transliterate

        protected static String transliterate​(String string,
                                              char[] alphabet1,
                                              char[] alphabet2)
      • transliterate

        protected static char[] transliterate​(char[] chars,
                                              char[] alphabet1,
                                              char[] alphabet2)
      • toUpperCase

        protected static char[] toUpperCase​(char[] chars)
      • encode

        protected static char[] encode​(long number,
                                       char[] alphabet)
        Encode a long number to base 32 char array.
        Parameters:
        number - a long number
        alphabet - an alphabet
        Returns:
        a base32 encoded char array
      • decode

        protected static long decode​(char[] chars,
                                     char[] alphabet)
        Decode a base 32 char array to a long number.
        Parameters:
        chars - a base 32 encoded char array
        alphabet - an alphabet
        Returns:
        a long number