|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.derby.impl.jdbc.Util
public abstract class Util
This class understands the message protocol and looks up SQLExceptions based on keys, so that the Local JDBC driver's messages can be localized. REMIND: May want to investigate putting some of this in the protocol side, for the errors that any Derby JDBC driver might return. The ASSERT mechanism is a wrapper of the basic services, to ensure that failed asserts at this level will behave well in a JDBC environment.
| Field Summary | |
|---|---|
private static SQLExceptionFactory |
exceptionFactory
|
private static int |
logSeverityLevel
|
| Constructor Summary | |
|---|---|
Util()
|
|
| Method Summary | |
|---|---|
static void |
ASSERT(EmbedConnection conn,
boolean mustBeTrue,
java.lang.String msg)
Mimic SanityManager.ASSERT in a JDBC-friendly way, and providing system cleanup for JDBC failures. |
static void |
checkForSupportedDataType(int dataType)
Checks whether a data type is supported and raises a SQLException if it isn't. |
static void |
checkSupportedRaiseStandard(int dataType)
Checks whether a data type is supported and raises a StandardException if it isn't. |
static java.sql.SQLException |
generateCsSQLException(StandardException se)
|
static java.sql.SQLException |
generateCsSQLException(java.lang.String error)
|
static java.sql.SQLException |
generateCsSQLException(java.lang.String error,
java.lang.Object arg1)
|
static java.sql.SQLException |
generateCsSQLException(java.lang.String error,
java.lang.Object arg1,
java.lang.Object arg2)
|
static java.sql.SQLException |
generateCsSQLException(java.lang.String error,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3)
|
(package private) static java.sql.SQLException |
generateCsSQLException(java.lang.String error,
java.lang.Object arg1,
java.lang.Throwable t)
|
static SQLExceptionFactory |
getExceptionFactory()
Get the exception factory specific to the version of JDBC which we are running. |
private static boolean |
isSupportedType(int dataType)
Returns false if a data type is not supported for: setObject(int, Object, int) and
setObject(int, Object, int, int). |
static java.sql.SQLException |
javaException(java.lang.Throwable t)
|
static void |
logAndThrowSQLException(java.sql.SQLException se)
Log SQLException to the error log if the severity exceeds the logSeverityLevel and then throw it. |
private static void |
logError(java.lang.String errorMessage,
java.lang.Throwable t)
|
static void |
logSQLException(java.sql.SQLException se)
Log an SQLException to the error log or to the console if there is no error log available. |
(package private) static java.sql.SQLException |
newBatchUpdateException(java.lang.String message,
java.lang.String sqlState,
int errorCode,
long[] updateCounts,
java.lang.Throwable cause)
Create the correct BatchUpdateException depending on whether this is Java 8 or lower |
private static java.sql.SQLException |
newEmbedSQLException(java.lang.String messageId,
int severity)
|
static java.sql.SQLException |
newEmbedSQLException(java.lang.String messageId,
java.lang.Object[] args,
int severity)
|
private static java.sql.SQLException |
newEmbedSQLException(java.lang.String messageId,
java.lang.Object[] args,
int severity,
java.lang.Throwable t)
|
private static java.sql.SQLException |
newEmbedSQLException(java.lang.String messageId,
java.lang.Object[] args,
java.sql.SQLException next,
int severity,
java.lang.Throwable t)
This looks up the message and sqlstate values and calls the SQLExceptionFactory method to generate the appropriate exception off of them. |
(package private) static java.sql.SQLException |
newException(java.lang.String messageID,
java.lang.Object a1,
java.lang.Object a2,
java.lang.Object a3)
|
(package private) static java.io.IOException |
newIOException(java.lang.Throwable cause)
Create an IOException that wraps another Throwable. |
static java.sql.SQLException |
noCurrentConnection()
|
static java.sql.SQLException |
notImplemented()
|
static java.sql.SQLException |
notImplemented(java.lang.String feature)
|
static java.sql.SQLException |
policyNotReloaded(java.lang.Throwable t)
|
(package private) static java.sql.SQLException |
seeNextException(java.lang.String messageId,
java.lang.Object[] args,
java.sql.SQLException next)
Generate an SQLException which points to another
SQLException nested within it with
setNextException(). |
static void |
setExceptionFactory(SQLExceptionFactory factory)
this method is called to replace the exception factory to be used to generate the SQLException or the subclass |
(package private) static java.sql.SQLException |
setStreamFailure(java.io.IOException e)
|
static int[] |
squashLongs(long[] longs)
Squash an array of longs into an array of ints |
(package private) static void |
THROWASSERT(EmbedConnection conn,
java.lang.String msg)
Mimic SanityManager.THROWASSERT in a JDBC-friendly way, and providing system cleanup for JDBC failures. |
(package private) static java.sql.SQLException |
typeMisMatch(int targetSQLType)
|
static java.lang.String |
typeName(int jdbcType)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
private static SQLExceptionFactory exceptionFactory
private static int logSeverityLevel
| Constructor Detail |
|---|
public Util()
| Method Detail |
|---|
public static void logAndThrowSQLException(java.sql.SQLException se)
throws java.sql.SQLException
se - SQLException to log and throw
java.sql.SQLExceptionpublic static void logSQLException(java.sql.SQLException se)
se - SQLException to log
private static void logError(java.lang.String errorMessage,
java.lang.Throwable t)
private static java.sql.SQLException newEmbedSQLException(java.lang.String messageId,
java.lang.Object[] args,
java.sql.SQLException next,
int severity,
java.lang.Throwable t)
public static java.sql.SQLException newEmbedSQLException(java.lang.String messageId,
java.lang.Object[] args,
int severity)
private static java.sql.SQLException newEmbedSQLException(java.lang.String messageId,
java.lang.Object[] args,
int severity,
java.lang.Throwable t)
private static java.sql.SQLException newEmbedSQLException(java.lang.String messageId,
int severity)
public static void ASSERT(EmbedConnection conn,
boolean mustBeTrue,
java.lang.String msg)
throws java.sql.SQLException
java.sql.SQLException - the exception
static void THROWASSERT(EmbedConnection conn,
java.lang.String msg)
throws java.sql.SQLException
java.sql.SQLException
public static void checkForSupportedDataType(int dataType)
throws java.sql.SQLException
java.sql.SQLException
public static void checkSupportedRaiseStandard(int dataType)
throws StandardException
StandardExceptionprivate static boolean isSupportedType(int dataType)
setObject(int, Object, int) and
setObject(int, Object, int, int).
dataType - the data type to check
static java.sql.SQLException newException(java.lang.String messageID,
java.lang.Object a1,
java.lang.Object a2,
java.lang.Object a3)
public static java.sql.SQLException generateCsSQLException(java.lang.String error)
public static java.sql.SQLException generateCsSQLException(java.lang.String error,
java.lang.Object arg1)
public static java.sql.SQLException generateCsSQLException(java.lang.String error,
java.lang.Object arg1,
java.lang.Object arg2)
public static java.sql.SQLException generateCsSQLException(java.lang.String error,
java.lang.Object arg1,
java.lang.Object arg2,
java.lang.Object arg3)
static java.sql.SQLException generateCsSQLException(java.lang.String error,
java.lang.Object arg1,
java.lang.Throwable t)
public static java.sql.SQLException generateCsSQLException(StandardException se)
public static java.sql.SQLException noCurrentConnection()
static java.sql.SQLException seeNextException(java.lang.String messageId,
java.lang.Object[] args,
java.sql.SQLException next)
SQLException which points to another
SQLException nested within it with
setNextException().
messageId - message idargs - the arguments to the message creationnext - the next SQLException
public static java.sql.SQLException javaException(java.lang.Throwable t)
public static java.sql.SQLException policyNotReloaded(java.lang.Throwable t)
public static java.sql.SQLException notImplemented()
public static java.sql.SQLException notImplemented(java.lang.String feature)
static java.sql.SQLException setStreamFailure(java.io.IOException e)
static java.sql.SQLException typeMisMatch(int targetSQLType)
static java.sql.SQLException newBatchUpdateException(java.lang.String message,
java.lang.String sqlState,
int errorCode,
long[] updateCounts,
java.lang.Throwable cause)
public static int[] squashLongs(long[] longs)
static java.io.IOException newIOException(java.lang.Throwable cause)
IOException that wraps another Throwable.
cause - the underlying cause of the error
IOException linked to causepublic static void setExceptionFactory(SQLExceptionFactory factory)
public static SQLExceptionFactory getExceptionFactory()
public static java.lang.String typeName(int jdbcType)
|
Built on Wed 2013-06-12 15:21:56+0000, from revision ??? | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||