org.springframework.jdbc.support
Class SQLErrorCodesFactory

java.lang.Object
  extended by org.springframework.jdbc.support.SQLErrorCodesFactory

public class SQLErrorCodesFactory
extends Object

Factory for creating SQLErrorCodes based on the "databaseProductName" taken from the DatabaseMetaData.

Returns SQLErrorCodes populated with vendor codes defined in a configuration file named "sql-error-codes.xml". Reads the default file in this package if not overridden by a file in the root of the class path (e.g. in the "/WEB-INF/classes" directory).

Author:
Thomas Risberg, Rod Johnson, Juergen Hoeller
See Also:
DatabaseMetaData.getDatabaseProductName()

Field Summary
protected static Log logger
           
static String SQL_ERROR_CODE_DEFAULT_PATH
          Name of default SQL error code files, loading from the class path.
static String SQL_ERROR_CODE_OVERRIDE_PATH
          Name of custom SQL error codes file, loading from the root of the class path (e.g. in the "WEB-INF/classes" directory).
 
Constructor Summary
protected SQLErrorCodesFactory()
          Not public to enforce Singleton design pattern.
 
Method Summary
 SQLErrorCodes getErrorCodes(DataSource dataSource)
          Return SQLErrorCodes for the given DataSource, evaluating databaseProductName from DatabaseMetaData, or an empty error codes instance if no SQLErrorCodes were found.
 SQLErrorCodes getErrorCodes(String dbName)
          Return SQLErrorCodes instance for the given database.
static SQLErrorCodesFactory getInstance()
          Return singleton instance.
protected  Resource loadResource(String path)
          Protected for testability.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

protected static final Log logger

SQL_ERROR_CODE_OVERRIDE_PATH

public static final String SQL_ERROR_CODE_OVERRIDE_PATH
Name of custom SQL error codes file, loading from the root of the class path (e.g. in the "WEB-INF/classes" directory).

See Also:
Constant Field Values

SQL_ERROR_CODE_DEFAULT_PATH

public static final String SQL_ERROR_CODE_DEFAULT_PATH
Name of default SQL error code files, loading from the class path.

See Also:
Constant Field Values
Constructor Detail

SQLErrorCodesFactory

protected SQLErrorCodesFactory()
Not public to enforce Singleton design pattern. Would be private except to allow testing via overriding the loadResource method. Do not subclass in application code.

See Also:
loadResource(java.lang.String)
Method Detail

getInstance

public static SQLErrorCodesFactory getInstance()
Return singleton instance.


loadResource

protected Resource loadResource(String path)
Protected for testability. Load the given resource from the class path.

Parameters:
path - resource path. SQL_ERROR_CODE_DEFAULT_PATH or SQL_ERROR_CODE_OVERRIDE_PATH. Not to be overridden by application developers, who should obtain instances of this class from the static getInstance() method.
Returns:
the resource, or null if the resource wasn't found
See Also:
getInstance()

getErrorCodes

public SQLErrorCodes getErrorCodes(DataSource dataSource)
Return SQLErrorCodes for the given DataSource, evaluating databaseProductName from DatabaseMetaData, or an empty error codes instance if no SQLErrorCodes were found.

See Also:
DatabaseMetaData.getDatabaseProductName()

getErrorCodes

public SQLErrorCodes getErrorCodes(String dbName)
Return SQLErrorCodes instance for the given database. No need for a database metadata lookup.



Copyright (c) 2002-2005 The Spring Framework Project.