## com.mysql.jdbc
Class Util

    java.lang.Object
      com.mysql.jdbc.Util

    public class Util

extends java.lang.Object

Various utility methods for the driver.

Nested Class Summary
`(package private) class` `Util.RandStructcture`

Field Summary
`protected static java.lang.reflect.Method` `systemNanoTimeMethod`

Constructor Summary
`Util()`

Method Summary
`static java.util.Map` `calculateDifferences(java.util.Map map1, java.util.Map map2)`
`static java.lang.Object` `cast(java.lang.Object invokeOn, java.lang.Object toCast)` Reflexive access on JDK-1.5's Class.cast() method so we don't have to move that out into separate classes built for JDBC-4.0.
`static long` `getCurrentTimeNanosOrMillis()`
`(package private) static java.util.TimeZone` `getDefaultTimeZone()`
`static java.lang.Object` `getInstance(java.lang.String className, java.lang.Class[] argTypes, java.lang.Object[] args)`
`static java.lang.Object` `handleNewInstance(java.lang.reflect.Constructor ctor, java.lang.Object[] args)` Handles constructing new instance with the given constructor and wrapping (or not, as required) the exceptions that could possibly be generated
`static boolean` `interfaceExists(java.lang.String hostname)` Does a network interface exist locally with the given hostname?
`static boolean` `isColdFusion()`
`static boolean` `isJdbc4()`
`static java.util.List` `loadExtensions(Connection conn, java.util.Properties props, java.lang.String extensionClassNames, java.lang.String errorMessageKey)`
`static boolean` `nanoTimeAvailable()`
`(package private) static java.lang.String` `newCrypt(java.lang.String password, java.lang.String seed)`
`(package private) static long[]` `newHash(java.lang.String password)`
`(package private) static java.lang.String` `oldCrypt(java.lang.String password, java.lang.String seed)`
`(package private) static long` `oldHash(java.lang.String password)`
`static java.lang.Object` `readObject(java.sql.ResultSet resultSet, int index)` Given a ResultSet and an index into the columns of that ResultSet, read binary data from the column which represents a serialized object, and re-create the object.
`static void` `resultSetToMap(java.util.Map mappedValues, java.sql.ResultSet rs)`
`static java.lang.String` `scramble(java.lang.String message, java.lang.String password)` DOCUMENT ME!
`static java.lang.String` `stackTraceToString(java.lang.Throwable ex)` Converts a nested exception into a nicer message

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### systemNanoTimeMethod

    protected static java.lang.reflect.Method systemNanoTimeMethod

Constructor Detail

### Util

    public Util()

Method Detail

### nanoTimeAvailable

    public static boolean nanoTimeAvailable()

### getDefaultTimeZone

    static final java.util.TimeZone getDefaultTimeZone()

### isJdbc4

    public static boolean isJdbc4()

### isColdFusion

    public static boolean isColdFusion()

### newCrypt

    static java.lang.String newCrypt(java.lang.String password,
                                     java.lang.String seed)

### newHash

    static long[] newHash(java.lang.String password)

### oldCrypt

    static java.lang.String oldCrypt(java.lang.String password,
                                     java.lang.String seed)

### oldHash

    static long oldHash(java.lang.String password)

### readObject

    public static java.lang.Object readObject(java.sql.ResultSet resultSet,
                                              int index)
                                       throws java.lang.Exception

  Given a ResultSet and an index into the columns of that ResultSet, read binary data from the column which represents a serialized object, and re-create the object.

  Parameters:
    `resultSet` - the ResultSet to use.
    `index` - an index into the ResultSet.
  Returns:
    the object if it can be de-serialized
  Throws:
    `java.lang.Exception` - if an error occurs

### scramble

    public static java.lang.String scramble(java.lang.String message,
                                            java.lang.String password)

  DOCUMENT ME!

  Parameters:
    `message` - DOCUMENT ME!
    `password` - DOCUMENT ME!
  Returns:
    DOCUMENT ME!

### stackTraceToString

    public static java.lang.String stackTraceToString(java.lang.Throwable ex)

  Converts a nested exception into a nicer message

  Parameters:
    `ex` - the exception to expand into a message.
  Returns:
    a message containing the exception, the message (if any), and a stacktrace.

### getInstance

    public static java.lang.Object getInstance(java.lang.String className,
                                               java.lang.Class[] argTypes,
                                               java.lang.Object[] args)
                                        throws java.sql.SQLException

  Throws:
    `java.sql.SQLException`

### handleNewInstance

    public static final java.lang.Object handleNewInstance(java.lang.reflect.Constructor ctor,
                                                           java.lang.Object[] args)
                                                    throws java.sql.SQLException

  Handles constructing new instance with the given constructor and wrapping (or not, as required) the exceptions that could possibly be generated

  Throws:
    `java.sql.SQLException`

### interfaceExists

    public static boolean interfaceExists(java.lang.String hostname)

  Does a network interface exist locally with the given hostname?

  Parameters:
    `hostname` - the hostname (or IP address in string form) to check
  Returns:
    true if it exists, false if no, or unable to determine due to VM version support of java.net.NetworkInterface

### cast

    public static java.lang.Object cast(java.lang.Object invokeOn,
                                        java.lang.Object toCast)

  Reflexive access on JDK-1.5's Class.cast() method so we don't have to move that out into separate classes built for JDBC-4.0.

  Parameters:
    `invokeOn` -
    `toCast` -
  Returns:

### getCurrentTimeNanosOrMillis

    public static long getCurrentTimeNanosOrMillis()

### resultSetToMap

    public static void resultSetToMap(java.util.Map mappedValues,
                                      java.sql.ResultSet rs)
                               throws java.sql.SQLException

  Throws:
    `java.sql.SQLException`

### calculateDifferences

    public static java.util.Map calculateDifferences(java.util.Map map1,
                                                     java.util.Map map2)

### loadExtensions

    public static java.util.List loadExtensions(Connection conn,
                                                java.util.Properties props,
                                                java.lang.String extensionClassNames,
                                                java.lang.String errorMessageKey)
                                         throws java.sql.SQLException

  Throws:
    `java.sql.SQLException`