public class SQLErrorCodesFactory extends ObjectSE
DatabaseMetaData
SE から取得した "databaseProductName" に基づいて SQLErrorCodes
を作成するためのファクトリ。 "sql-error-codes.xml" という名前の構成ファイルで定義されたベンダーコードが入力された SQLErrorCodes
を返します。クラスパスのルート(たとえば、"/WEB-INF/classes" ディレクトリ)にあるファイルによってオーバーライドされていない場合は、このパッケージのデフォルトファイルを読み取ります。
DatabaseMetaData.getDatabaseProductName()
SE修飾子と型 | フィールドと説明 |
---|---|
static StringSE | SQL_ERROR_CODE_DEFAULT_PATH クラスパスからロードするデフォルトの SQL エラーコードファイルの名前。 |
static StringSE | SQL_ERROR_CODE_OVERRIDE_PATH クラスパスのルートからロードするカスタム SQL エラーコードファイルの名前(例: |
修飾子 | コンストラクターと説明 |
---|---|
protected | SQLErrorCodesFactory() SQLErrorCodesFactory クラスの新しいインスタンスを作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
SQLErrorCodes | getErrorCodes(DataSourceSE dataSource) 指定された DataSource SE の SQLErrorCodes を返し、DatabaseMetaData SE から "databaseProductName" を評価します。SQLErrorCodes が見つからなかった場合は、空のエラーコードインスタンスを返します。 |
SQLErrorCodes | getErrorCodes(StringSE databaseName) 指定されたデータベースの SQLErrorCodes インスタンスを返します。 |
static SQLErrorCodesFactory | getInstance() シングルトンインスタンスを返します。 |
protected Resource | loadResource(StringSE path) クラスパスから特定のリソースをロードします。 |
SQLErrorCodes | registerDatabase(DataSourceSE dataSource, StringSE databaseName) 指定されたデータベース名を指定された DataSource SE に関連付けます。 |
SQLErrorCodes | resolveErrorCodes(DataSourceSE dataSource) 指定された DataSource SE の SQLErrorCodes を返し、DatabaseMetaData SE から "databaseProductName" を評価します。JDBC メタデータアクセスの問題の場合は null を返します。 |
SQLErrorCodes | unregisterDatabase(DataSourceSE dataSource) 登録されている場合、指定された DataSource SE のキャッシュをクリアします。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public static final StringSE SQL_ERROR_CODE_OVERRIDE_PATH
protected SQLErrorCodesFactory()
SQLErrorCodesFactory
クラスの新しいインスタンスを作成します。 シングルトン設計パターンを実施するために非公開。loadResource(String)
メソッドのオーバーライドによるテストを許可する場合を除き、プライベートになります。
アプリケーションコードでサブクラス化しないでください。
loadResource(String)
public static SQLErrorCodesFactory getInstance()
@Nullable protected Resource loadResource(StringSE path)
静的 getInstance()
メソッドからこのクラスのインスタンスを取得する必要があるアプリケーション開発者によってオーバーライドされることはありません。
テスト容易性のために保護されています。
path
- リソースパス。カスタムパス、または SQL_ERROR_CODE_DEFAULT_PATH
または SQL_ERROR_CODE_OVERRIDE_PATH
のいずれか。null
getInstance()
public SQLErrorCodes getErrorCodes(StringSE databaseName)
SQLErrorCodes
インスタンスを返します。データベースのメタデータ検索は不要です。
databaseName
- データベース名 (null
であってはなりません)SQLErrorCodes
インスタンス (決して null
; 空の可能性がある)IllegalArgumentExceptionSE
- 指定されたデータベース名が null
の場合 public SQLErrorCodes getErrorCodes(DataSourceSE dataSource)
DataSource
SE の SQLErrorCodes
を返し、DatabaseMetaData
SE から "databaseProductName" を評価します。SQLErrorCodes
が見つからなかった場合は、空のエラーコードインスタンスを返します。dataSource
- データベースを識別する DataSource
SQLErrorCodes
オブジェクト (決して null
; 空の可能性がある)DatabaseMetaData.getDatabaseProductName()
SE@Nullable public SQLErrorCodes resolveErrorCodes(DataSourceSE dataSource)
DataSource
SE の SQLErrorCodes
を返し、DatabaseMetaData
SE から "databaseProductName" を評価します。JDBC メタデータアクセスの問題の場合は null
を返します。dataSource
- データベースを識別する DataSource
SQLErrorCodes
オブジェクト、または JDBC メタデータアクセスの問題の場合は null
DatabaseMetaData.getDatabaseProductName()
SEpublic SQLErrorCodes registerDatabase(DataSourceSE dataSource, StringSE databaseName)
DataSource
SE に関連付けます。dataSource
- データベースを識別する DataSource
databaseName
- エラーコード定義ファイルに記載されている対応するデータベース名 (null
であってはなりません)SQLErrorCodes
オブジェクト (非 null
)unregisterDatabase(DataSource)
@Nullable public SQLErrorCodes unregisterDatabase(DataSourceSE dataSource)
DataSource
SE のキャッシュをクリアします。dataSource
- データベースを識別する DataSource
SQLErrorCodes
オブジェクト、または登録されていない場合は null
registerDatabase(DataSource, String)