Class Utils


  • public class Utils
    extends Object
    Collection of utilities used by the protocol-level code.
    • Constructor Detail

      • Utils

        public Utils()
    • Method Detail

      • toHexString

        public static String toHexString​(byte[] data)
        Turn a bytearray into a printable form, representing each byte in hex.
        Parameters:
        data - the bytearray to stringize
        Returns:
        a hex-encoded printable representation of data
      • encodeUTF8

        public static byte[] encodeUTF8​(String str)
        Encode a string as UTF-8.
        Parameters:
        str - the string to encode
        Returns:
        the UTF-8 representation of str
      • escapeLiteral

        public static StringBuilder escapeLiteral​(StringBuilder sbuf,
                                                  String value,
                                                  boolean standardConformingStrings)
                                           throws SQLException
        Escape the given literal value and append it to the string builder sbuf. If sbuf is null, a new StringBuilder will be returned. The argument standardConformingStrings defines whether the backend expects standard-conforming string literals or allows backslash escape sequences.
        Parameters:
        sbuf - the string builder to append to; or null
        value - the string value
        standardConformingStrings - if standard conforming strings should be used
        Returns:
        the sbuf argument; or a new string builder for sbuf == null
        Throws:
        SQLException - if the string contains a \0 character
      • escapeIdentifier

        public static StringBuilder escapeIdentifier​(StringBuilder sbuf,
                                                     String value)
                                              throws SQLException
        Escape the given identifier value and append it to the string builder sbuf. If sbuf is null, a new StringBuilder will be returned. This method is different from appendEscapedLiteral in that it includes the quoting required for the identifier while escapeLiteral(StringBuilder, String, boolean) does not.
        Parameters:
        sbuf - the string builder to append to; or null
        value - the string value
        Returns:
        the sbuf argument; or a new string builder for sbuf == null
        Throws:
        SQLException - if the string contains a \0 character
      • parseServerVersionStr

        @Deprecated
        public static int parseServerVersionStr​(String serverVersion)
                                         throws NumberFormatException
        Deprecated.
        use specific Version instance

        Attempt to parse the server version string into an XXYYZZ form version number.

        Returns 0 if the version could not be parsed.

        Returns minor version 0 if the minor version could not be determined, e.g. devel or beta releases.

        If a single major part like 90400 is passed, it's assumed to be a pre-parsed version and returned verbatim. (Anything equal to or greater than 10000 is presumed to be this form).

        The yy or zz version parts may be larger than 99. A NumberFormatException is thrown if a version part is out of range.

        Parameters:
        serverVersion - server vertion in a XXYYZZ form
        Returns:
        server version in number form
        Throws:
        NumberFormatException