public static boolean isValid()

in java/src/main/java/com/epam/deltix/containers/UUID.java [284:325]


    public static boolean isValid(CharSequence string, int offset, UUIDParseFormat format) {
        if (string == null)
            return false;
        if (string.length() < offset + 32)
            return false;
        if (format == UUIDParseFormat.ANY)
            format = string.charAt(offset + 8) == '-' ? UUIDParseFormat.ANYCASE : UUIDParseFormat.ANYCASE_WITHOUT_DASHES;

        switch (format) {
            case LOWERCASE:
            case UPPERCASE:
            case ANYCASE: {
                if (!canExtract(string, offset, 8, 0L, format)) return false;
                long m = extract(string, offset, 8, 0L, format);
                if (string.charAt(offset + 8) != '-')
                    return false;
                if (!canExtract(string, offset + 9, 4, m, format)) return false;
                m = extract(string, offset + 9, 4, m, format);
                if (string.charAt(offset + 13) != '-')
                    return false;
                if (!canExtract(string, offset + 14, 4, m, format)) return false;
                m = extract(string, offset + 14, 4, m, format);
                if (string.charAt(offset + 18) != '-')
                    return false;
                long l = 0;
                if (!canExtract(string, offset + 19, 4, 0L, format)) return false;
                l = extract(string, offset + 19, 4, 0L, format);
                if (string.charAt(offset + 23) != '-')
                    return false;
                if (!canExtract(string, offset + 24, 12, l, format)) return false;

                break;
            }
            case LOWERCASE_WITHOUT_DASHES:
            case UPPERCASE_WITHOUT_DASHES:
            case ANYCASE_WITHOUT_DASHES:
                if ((!canExtract(string, offset, 16, 0L, format)) || (!canExtract(string, offset + 16, 16, 0L, format))) return false;
                break;
        }

        return true;
    }