パッケージ org.opengion.fukurou.db
クラス DatabaseConfig
java.lang.Object
org.opengion.fukurou.db.DatabaseConfig
DB設定XMLの内容をJAXBを利用してロードする
Driverをロードする
上記2つの機能を備えたクラスです
外部からはgetDbidメソッドを利用してDB設定(ExpandedDbid型)を取得します。
DB設定情報が無い場合にXMLを読みにいきます。
このDBIDを決めるキーは、内部取り込み字に、大文字変換されますので、大文字・
小文字の区別はありません。
- 変更履歴:
- 4.0.0.0 (2007/10/25) 新規作成, 5.1.7.0 (2010/06/01) org.opengion.fukurou.xml.jaxb.dbid 関係 廃止
- 機能分類
- 初期化
- 導入されたバージョン:
- JDK6.0,
-
フィールドの概要
フィールド -
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明DBID情報のキーとタイトルから、プルダウンメニューを作成するための情報を取得します。dbidKeyをキーにしてExpandedDbid型でマップの内容を返す。String[][]
全てのDBIDの属性情報のリスト(配列)で返します。static String[]
DBIDとして管理している項目のキーの一覧を配列形式で返します。static String
DBドライバーの属性キーを返します。String[]
DBドライバーのリスト(配列)を返します。void
reload()
マップをクリアします。void
setDbidInfo
(String[][] dbidVals) 全てのDBIDの属性情報のリスト(配列)をセットします。void
setDriverList
(String... drivers) DBドライバーのリスト(配列)をセットします。
-
フィールド詳細
-
DB_CONFIG_FILE
初期ファイルの設定 "../DBConfig.xml"- 関連項目:
-
-
コンストラクタの詳細
-
DatabaseConfig
public DatabaseConfig()初期値を使ってXMLを読み込む xmlFilenameの初期値は../DBConfig.xml- 変更履歴:
- 4.3.1.1 (2008/08/23) 自分のコンストラクターを呼ぶように修正
-
DatabaseConfig
XMLファイルの名前を指定して読み込む- パラメータ:
infile
- XMLファイルの名前- 変更履歴:
- 5.1.9.0 (2010/08/01) クラスローダー外からでもDBConfig.xmlを取得できるようにする, 5.6.7.0 (2013/07/27) オブジェクト作成時に初期化も行っておきます。, 5.6.8.2 (2013/09/20) Tomcat8で、クラスローダーが変更されているのでその対応, 5.7.2.2 (2014/01/24) WEB-INF/classes フォルダがないと、xmlURL がnull になる対応。, 5.7.2.3 (2014/01/31) ファイルの存在チェックを追加します。, 6.4.3.3 (2016/03/04) 初期 DBConfig.xml ファイルの設定。, 6.6.0.0 (2016/12/01) コンテキストパスから、##バージョン番号を取り去った値を返すようにします。, 6.8.5.1 (2018/01/15) ClassLoader変数名を、clsl から、loader に変更(他の変数名と整合性を持たす)。
-
-
メソッドの詳細
-
getDbid
dbidKeyをキーにしてExpandedDbid型でマップの内容を返す。 存在しない場合はNULLを返します。 キーが無い場合に初期化を行う。- パラメータ:
key
- XMLで登録したdbidKey- 戻り値:
- EDbid型オブジェクト
- 変更履歴:
- 4.0.0.1 (2007/12/04) EDbid#clone() 廃止, 5.6.7.0 (2013/07/27) synchronized メソッドにします。, 6.0.0.1 (2014/04/25) Collections.synchronizedMap を使用します。
-
reload
マップをクリアします。 XMLファイルを再読み込みする場合に使用します。- 変更履歴:
- 5.1.9.0 (2010/08/01) ドライバーのリストもクリアする。, 5.6.7.0 (2013/07/27) synchronized メソッドにします。, 6.0.0.1 (2014/04/25) Collections.synchronizedMap を使用します。
-
getDbidInfoKeys
DBIDとして管理している項目のキーの一覧を配列形式で返します。- 戻り値:
- 項目のキー一覧
- 変更履歴:
- 5.1.9.0 (2010/08/01) 新規作成
- このメソッドは、nullを返しません
-
getDbidInfo
全てのDBIDの属性情報のリスト(配列)で返します。 値の順番については、getDbidInfoKeys()
で返されるキーの一覧と同じです。- 戻り値:
- 全てのDBIDの属性情報のリスト(配列)
- 関連項目:
- 変更履歴:
- 5.1.9.0 (2010/08/01) 新規作成, 5.5.2.1 (2012/05/07) propertiesを出力, 5.6.6.0 (2013/07/05) 表題(title)属性を追加, 5.6.7.0 (2013/07/27) 内部MapをDBConfig.xmlの読み込み順に変更。, 6.3.9.0 (2015/11/06) Use block level rather than method level synchronization.(PMD)
- このメソッドは、nullを返しません
-
setDbidInfo
全てのDBIDの属性情報のリスト(配列)をセットします。 このメソッドを呼び出すと、DBConfig.xmlで定義されているDBID情報一覧を"一旦削除し"、 その上で、引数のDBID情報一覧をDBConfig.xmlに書き込みます。 値の順番については、getDbidInfoKeys()
で返されるキーの一覧と同じです。 書き込みの直前に、同じフォルダにタイムスタンプを付加したバックアップファイルを作成します。- パラメータ:
dbidVals
- 全てのDBIDの属性情報の配列の配列- 関連項目:
- 変更履歴:
- 5.1.9.0 (2010/08/01) 新規作成, 5.6.7.0 (2013/07/27) 内部MapをDBConfig.xmlの読み込み順に変更。
-
getDriverKey
DBドライバーの属性キーを返します。- 戻り値:
- DBドライバーの属性キー
- 変更履歴:
- 5.1.9.0 (2010/08/01) 新規作成
- このメソッドは、nullを返しません
-
getDriverList
DBドライバーのリスト(配列)を返します。- 戻り値:
- DBドライバーリスト(配列)
- 変更履歴:
- 5.1.9.0 (2010/08/01) 新規作成, 5.6.7.0 (2013/07/27) driverList を書き込むのではなく、作成します。
- このメソッドは、nullを返しません
-
setDriverList
DBドライバーのリスト(配列)をセットします。 このメソッドを呼び出すと、DBConfig.xmlで定義されているclass一覧を"一旦削除し"、 その上で、引数のDBドライバー一覧をDBConfig.xmlに書き込みます。 書き込みの直前に、同じフォルダにタイムスタンプを付加したバックアップファイルを作成します。- パラメータ:
drivers
- DBドライバーの配列(可変長引数)- 変更履歴:
- 5.1.9.0 (2010/08/01) 新規作成, 5.6.7.0 (2013/07/27) DBドライバーのリストを更新後、初期化します。
-
getCodeKeyVal
DBID情報のキーとタイトルから、プルダウンメニューを作成するための情報を取得します。 このメソッドを呼び出すと、DBConfig.xmlで定義されている dbidKey と、title 属性から、 「key1:val1 key2:val2 ・・・」という文字列を作成します。 これを利用すれば、プルダウンメニューが簡単に作成できます。- 戻り値:
- プルダウンメニューを作成するための情報
- 変更履歴:
- 5.6.7.0 (2013/07/27) プルダウンメニュー用の情報を作成します。, 5.6.7.1 (2013/08/09) 表題(title)属性のスペース対策, 6.2.6.0 (2015/06/19) 表題(title)属性のスペース対策(KEY:LBL をダブルクオートで囲う), 6.3.9.0 (2015/11/06) Use block level rather than method level synchronization.(PMD), 7.1.0.0 (2020/01/20) DB接続できないDBIDはプルダウンメニューに含めない。, 7.2.3.1 (2020/04/17) 超特殊処理:Derby の場合は、エラーメッセージを出さない。
-