public abstract class AbstractFallbackSQLExceptionTranslator extends Object implements SQLExceptionTranslator
SQLExceptionTranslator implementations that allow for
 fallback to some other SQLExceptionTranslator.| Modifier and Type | Field and Description | 
|---|---|
| protected Log | loggerLogger available to subclasses | 
| Constructor and Description | 
|---|
| AbstractFallbackSQLExceptionTranslator() | 
| Modifier and Type | Method and Description | 
|---|---|
| protected String | buildMessage(String task,
            String sql,
            SQLException ex)Build a message  Stringfor the givenSQLException. | 
| protected abstract DataAccessException | doTranslate(String task,
           String sql,
           SQLException ex)Template method for actually translating the given exception. | 
| SQLExceptionTranslator | getFallbackTranslator()Return the fallback exception translator, if any. | 
| void | setFallbackTranslator(SQLExceptionTranslator fallback)Override the default SQL state fallback translator
 (typically a  SQLStateSQLExceptionTranslator). | 
| DataAccessException | translate(String task,
         String sql,
         SQLException ex)Pre-checks the arguments, calls  doTranslate(java.lang.String, java.lang.String, java.sql.SQLException), and invokes thefallback translatorif necessary. | 
protected final Log logger
public AbstractFallbackSQLExceptionTranslator()
public void setFallbackTranslator(SQLExceptionTranslator fallback)
SQLStateSQLExceptionTranslator).public SQLExceptionTranslator getFallbackTranslator()
public DataAccessException translate(String task, String sql, SQLException ex)
doTranslate(java.lang.String, java.lang.String, java.sql.SQLException), and invokes the
 fallback translator if necessary.translate in interface SQLExceptionTranslatortask - readable text describing the task being attemptedsql - SQL query or update that caused the problem (may be null)ex - the offending SQLExceptionSQLExceptionNestedRuntimeException.getRootCause()protected abstract DataAccessException doTranslate(String task, String sql, SQLException ex)
The passed-in arguments will have been pre-checked. Furthermore, this method
 is allowed to return null to indicate that no exception match has
 been found and that fallback translation should kick in.
task - readable text describing the task being attemptedsql - SQL query or update that caused the problem (may be null)ex - the offending SQLExceptionSQLException;
 or null if no exception match foundprotected String buildMessage(String task, String sql, SQLException ex)
String for the given SQLException.
 To be called by translator subclasses when creating an instance of a generic
 DataAccessException class.
task - readable text describing the task being attemptedsql - the SQL statement that caused the problem (may be null)ex - the offending SQLExceptionString to use