com.mysql.jdbc
Class Util

java.lang.Object
  extended by 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, 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 loadExtensions(Connection conn, java.util.Properties props, java.lang.String extensionClassNames, java.lang.String errorMessageKey, ExceptionInterceptor exceptionInterceptor)
           
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,
                                           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

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,
                                            ExceptionInterceptor exceptionInterceptor)
                                     throws java.sql.SQLException
Throws:
java.sql.SQLException