Package org.postgresql.core

# Class Utils

java.lang.Object
org.postgresql.core.Utils

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

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Utils()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static StringBuilder`
  `escapeIdentifier(@Nullable StringBuilder sbuf, String value)`
  Escape the given identifier `value` and append it to the string builder `sbuf`.
  `static StringBuilder`
  `escapeLiteral(@Nullable StringBuilder sbuf, String value, boolean standardConformingStrings)`
  Escape the given literal `value` and append it to the string builder `sbuf`.
  `static int`
  `parseServerVersionStr(@Nullable String serverVersion)`
  Attempt to parse the server version string into an XXYYZZ form version number.
  `static 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 Details

  - ### Utils

    public Utils()

- ## Method Details

  - ### 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`

  - ### escapeLiteral

    public static StringBuilder escapeLiteral(@Nullable 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(@Nullable 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

    public static int parseServerVersionStr(@Nullable String serverVersion) throws NumberFormatException
    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 version in a XXYYZZ form
    Returns:
      server version in number form
    Throws:
      `NumberFormatException`