Package org.springframework.jdbc.support
Class AbstractFallbackSQLExceptionTranslator
java.lang.Object
org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator
- All Implemented Interfaces:
- SQLExceptionTranslator
- Direct Known Subclasses:
- SQLErrorCodeSQLExceptionTranslator,- SQLExceptionSubclassTranslator,- SQLStateSQLExceptionTranslator
public abstract class AbstractFallbackSQLExceptionTranslator
extends Object
implements SQLExceptionTranslator
Base class for 
SQLExceptionTranslator implementations that allow for
 fallback to some other SQLExceptionTranslator.- Since:
- 2.5.6
- Author:
- Juergen Hoeller
- See Also:
- 
Field SummaryFields
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionprotected StringbuildMessage(String task, String sql, SQLException ex) Build a messageStringfor the givenSQLException.protected abstract DataAccessExceptiondoTranslate(String task, String sql, SQLException ex) Template method for actually translating the given exception.Return the fallback exception translator, if any.voidsetFallbackTranslator(SQLExceptionTranslator fallback) Set the fallback translator to use when this translator cannot find a specific match itself.translate(String task, String sql, SQLException ex) Pre-checks the arguments, callsdoTranslate(java.lang.String, java.lang.String, java.sql.SQLException), and invokes thefallback translatorif necessary.
- 
Field Details- 
loggerLogger available to subclasses.
 
- 
- 
Constructor Details- 
AbstractFallbackSQLExceptionTranslatorpublic AbstractFallbackSQLExceptionTranslator()
 
- 
- 
Method Details- 
setFallbackTranslatorSet the fallback translator to use when this translator cannot find a specific match itself.
- 
getFallbackTranslatorReturn the fallback exception translator, if any.
- 
translatePre-checks the arguments, callsdoTranslate(java.lang.String, java.lang.String, java.sql.SQLException), and invokes thefallback translatorif necessary.- Specified by:
- translatein interface- SQLExceptionTranslator
- Parameters:
- task- readable text describing the task being attempted
- sql- the SQL query or update that caused the problem (if known)
- ex- the offending- SQLException
- Returns:
- the DataAccessException wrapping the SQLException, ornullif no specific translation could be applied
- See Also:
 
- 
doTranslate@Nullable protected abstract DataAccessException doTranslate(String task, @Nullable String sql, SQLException ex) Template method for actually translating the given exception.The passed-in arguments will have been pre-checked. Furthermore, this method is allowed to return nullto indicate that no exception match has been found and that fallback translation should kick in.- Parameters:
- task- readable text describing the task being attempted
- sql- the SQL query or update that caused the problem (if known)
- ex- the offending- SQLException
- Returns:
- the DataAccessException, wrapping the SQLException; ornullif no exception match found
 
- 
buildMessageBuild a messageStringfor the givenSQLException.To be called by translator subclasses when creating an instance of a generic DataAccessExceptionclass.- Parameters:
- task- readable text describing the task being attempted
- sql- the SQL statement that caused the problem
- ex- the offending- SQLException
- Returns:
- the message Stringto use
 
 
-