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

Nested Classes
`(package private) class` `Util.RandStructcture`

### Field Summary

Fields
`protected static java.lang.reflect.Method` `systemNanoTimeMethod`

### Constructor Summary

Constructors
Constructor and Description
`Util()`

### Method Summary

Methods
`static java.util.Map<java.lang.Object,java.lang.Object>` `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, ExceptionInterceptor exceptionInterceptor)`
`static java.lang.Object` `handleNewInstance(java.lang.reflect.Constructor<?> ctor, java.lang.Object[] args, ExceptionInterceptor exceptionInterceptor)` 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<Extension>` `loadExtensions(Connection conn, java.util.Properties props, java.lang.String extensionClassNames, java.lang.String errorMessageKey, ExceptionInterceptor exceptionInterceptor)`
`static boolean` `nanoTimeAvailable()`
`static java.lang.String` `newCrypt(java.lang.String password, java.lang.String seed)`
`(package private) static long[]` `newHash(java.lang.String password)`
`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 void` `resultSetToMap(java.util.Map mappedValues, java.sql.ResultSet rs, int key, int value)`
`static void` `resultSetToMap(java.util.Map mappedValues, java.sql.ResultSet rs, java.lang.String key, java.lang.String value)`
`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 final 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

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

#### newHash

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

#### oldCrypt

    public 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,
                               ExceptionInterceptor exceptionInterceptor)
                                        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,
                                     ExceptionInterceptor exceptionInterceptor)
                                                    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`

#### resultSetToMap

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

Throws:
  `java.sql.SQLException`

#### resultSetToMap

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

Throws:
  `java.sql.SQLException`

#### calculateDifferences

    public static java.util.Map<java.lang.Object,java.lang.Object> calculateDifferences(java.util.Map<?,?> map1,
                                                                        java.util.Map<?,?> map2)

#### loadExtensions

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

Throws:
  `java.sql.SQLException`