public abstract class

AbstractFallbackSQLExceptionTranslator

extends Object
implements SQLExceptionTranslator
java.lang.Object
   ↳ org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator
Known Direct Subclasses

Class Overview

Base class for SQLExceptionTranslator implementations that allow for fallback to some other SQLExceptionTranslator.

Summary

Fields
protected final Log logger Logger available to subclasses
Public Constructors
AbstractFallbackSQLExceptionTranslator()
Public Methods
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(String, String, SQLException), and invokes the fallback translator if necessary.
Protected Methods
String buildMessage(String task, String sql, SQLException ex)
Build a message String for the given SQLException.
abstract DataAccessException doTranslate(String task, String sql, SQLException ex)
Template method for actually translating the given exception.
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.springframework.jdbc.support.SQLExceptionTranslator

Fields

protected final Log logger

Logger available to subclasses

Public Constructors

public AbstractFallbackSQLExceptionTranslator ()

Public Methods

public SQLExceptionTranslator getFallbackTranslator ()

Return the fallback exception translator, if any.

public void setFallbackTranslator (SQLExceptionTranslator fallback)

Override the default SQL state fallback translator (typically a SQLStateSQLExceptionTranslator).

public DataAccessException translate (String task, String sql, SQLException ex)

Pre-checks the arguments, calls doTranslate(String, String, SQLException), and invokes the fallback translator if necessary.

Parameters
task readable text describing the task being attempted
sql SQL query or update that caused the problem (may be null)
ex the offending SQLException
Returns
  • the DataAccessException, wrapping the SQLException

Protected Methods

protected String buildMessage (String task, String sql, SQLException ex)

Build a message String for the given SQLException.

To be called by translator subclasses when creating an instance of a generic DataAccessException class.

Parameters
task readable text describing the task being attempted
sql the SQL statement that caused the problem (may be null)
ex the offending SQLException
Returns
  • the message String to use

protected abstract DataAccessException doTranslate (String task, 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 null to 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 SQL query or update that caused the problem (may be null)
ex the offending SQLException
Returns
  • the DataAccessException, wrapping the SQLException; or null if no exception match found