|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator
public abstract class AbstractFallbackSQLExceptionTranslator
Base class for SQLExceptionTranslator
implementations that allow for
fallback to some other SQLExceptionTranslator
.
Field Summary | |
---|---|
protected Log |
logger
Logger available to subclasses |
Constructor Summary | |
---|---|
AbstractFallbackSQLExceptionTranslator()
|
Method Summary | |
---|---|
protected String |
buildMessage(String task,
String sql,
SQLException ex)
Build a message String for the given SQLException . |
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 the
fallback translator if necessary. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final Log logger
Constructor Detail |
---|
public AbstractFallbackSQLExceptionTranslator()
Method Detail |
---|
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 SQLExceptionTranslator
task
- readable text describing the task being attemptedsql
- SQL query or update that caused the problem (may be null
)ex
- the offending SQLException
SQLException
NestedRuntimeException.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 SQLException
SQLException
;
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 SQLException
String
to use
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |