Class UlidValidator


  • public final class UlidValidator
    extends Object
    • Field Detail

      • TIMESTAMP_MAX

        protected static final long TIMESTAMP_MAX
    • Method Detail

      • isValid

        public static boolean isValid​(String ulid)
        Checks if the string is a valid ULID. A valid ULID string is a sequence of 26 characters from Crockford's base 32 alphabet. It also checks if the timestamp is between 0 and 2^48-1.
         Examples of valid ULID strings:
         - 0123456789ABCDEFGHJKMNPKRS (26 alphanumeric, case insensitive, except U)
         - 0123456789ABCDEFGHIJKLMNOP (26 alphanumeric, case insensitive, including OIL, except U)
         - 0123456789-ABCDEFGHJK-MNPKRS (26 alphanumeric, case insensitive, except U, with hyphens)
         - 0123456789-ABCDEFGHIJ-KLMNOP (26 alphanumeric, case insensitive, including OIL, except U, with hyphens)
         
        Parameters:
        ulid - a ULID
        Returns:
        boolean true if valid
      • isValidString

        protected static boolean isValidString​(char[] c)
        Checks if the string is a valid ULID. A valid ULID string is a sequence of 26 characters from Crockford's base 32 alphabet.
         Examples of valid ULID strings:
         - 0123456789ABCDEFGHJKMNPKRS (26 alphanumeric, case insensitive, except U)
         - 0123456789ABCDEFGHIJKLMNOP (26 alphanumeric, case insensitive, including OIL, except U)
         - 0123456789-ABCDEFGHJK-MNPKRS (26 alphanumeric, case insensitive, except U, with hyphens)
         - 0123456789-ABCDEFGHIJ-KLMNOP (26 alphanumeric, case insensitive, including OIL, except U, with hyphens)
         
        Parameters:
        c - a char array
        Returns:
        boolean true if valid
      • isValidTimestamp

        protected static boolean isValidTimestamp​(char[] chars)
        Checks if the timestamp is between 0 and 2^48-1
        Parameters:
        chars - a char array
        Returns:
        false if invalid.