Class Utils


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

      Constructors 
      Constructor Description
      Utils()  
    • Method Summary

      All Methods Static Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static byte[] encodeUTF8​(java.lang.String str)
      Encode a string as UTF-8.
      static java.lang.StringBuilder escapeIdentifier​(java.lang.StringBuilder sbuf, java.lang.String value)
      Escape the given identifier value and append it to the string builder sbuf.
      static java.lang.StringBuilder escapeLiteral​(java.lang.StringBuilder sbuf, java.lang.String value, boolean standardConformingStrings)
      Escape the given literal value and append it to the string builder sbuf.
      static int parseServerVersionStr​(java.lang.String serverVersion)
      Deprecated.
      use specific Version instance
      static java.lang.String toHexString​(byte[] data)
      Turn a bytearray into a printable form, representing each byte in hex.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Utils

        public Utils()
    • Method Detail

      • toHexString

        public static java.lang.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​(java.lang.String str)
        Encode a string as UTF-8.
        Parameters:
        str - the string to encode
        Returns:
        the UTF-8 representation of str
      • escapeLiteral

        public static java.lang.StringBuilder escapeLiteral​(java.lang.StringBuilder sbuf,
                                                            java.lang.String value,
                                                            boolean standardConformingStrings)
                                                     throws java.sql.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:
        java.sql.SQLException - if the string contains a \0 character
      • escapeIdentifier

        public static java.lang.StringBuilder escapeIdentifier​(java.lang.StringBuilder sbuf,
                                                               java.lang.String value)
                                                        throws java.sql.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:
        java.sql.SQLException - if the string contains a \0 character
      • parseServerVersionStr

        @Deprecated
        public static int parseServerVersionStr​(java.lang.String serverVersion)
                                         throws java.lang.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:
        java.lang.NumberFormatException