パッケージ org.opengion.fukurou.db

# クラス DatabaseConfig

java.lang.Object
org.opengion.fukurou.db.DatabaseConfig

public class DatabaseConfig extends Object
DB設定XMLの内容をJAXBを利用してロードする Driverをロードする 上記２つの機能を備えたクラスです 外部からは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,

- ## フィールドの概要

  フィールド
  修飾子とタイプ
  フィールド
  説明
  `static final String`
  `DB_CONFIG_FILE`
  初期ファイルの設定 "../DBConfig.xml"

- ## コンストラクタの概要

  コンストラクタ
  コンストラクタ
  説明
  `DatabaseConfig()`
  初期値を使ってXMLを読み込む xmlFilenameの初期値は..
  `DatabaseConfig(String infile)`
  XMLファイルの名前を指定して読み込む

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `String`
  `getCodeKeyVal()`
  DBID情報のキーとタイトルから、プルダウンメニューを作成するための情報を取得します。
  `EDbid`
  `getDbid(String key)`
  dbidKeyをキーにしてExpandedDbid型でマップの内容を返す。
  `String[][]`
  `getDbidInfo()`
  全てのDBIDの属性情報のリスト(配列)で返します。
  `static String[]`
  `getDbidInfoKeys()`
  DBIDとして管理している項目のキーの一覧を配列形式で返します。
  `static String`
  `getDriverKey()`
  DBドライバーの属性キーを返します。
  `String[]`
  `getDriverList()`
  DBドライバーのリスト(配列)を返します。
  `void`
  `reload()`
  マップをクリアします。
  `void`
  `setDbidInfo(String[][] dbidVals)`
  全てのDBIDの属性情報のリスト(配列)をセットします。
  `void`
  `setDriverList(String... drivers)`
  DBドライバーのリスト(配列)をセットします。

  ### クラスから継承されたメソッド java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## フィールド詳細

  - ### DB_CONFIG_FILE

    public static final String DB_CONFIG_FILE
    初期ファイルの設定 "../DBConfig.xml"
    関連項目:
      - 定数フィールド値

- ## コンストラクタの詳細

  - ### DatabaseConfig

    public DatabaseConfig()
    初期値を使ってXMLを読み込む xmlFilenameの初期値は../DBConfig.xml
    変更履歴:
      4.3.1.1 (2008/08/23) 自分のコンストラクターを呼ぶように修正

  - ### DatabaseConfig

    public DatabaseConfig(String infile)
    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

    public EDbid getDbid(String key)
    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

    public void 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

    public static String[] getDbidInfoKeys()
    DBIDとして管理している項目のキーの一覧を配列形式で返します。
    戻り値:
      項目のキー一覧
    変更履歴:
      5.1.9.0 (2010/08/01) 新規作成
    このﾒｿｯﾄﾞは、nullを返しません

  - ### getDbidInfo

    public String[][] getDbidInfo()
    全てのDBIDの属性情報のリスト(配列)で返します。 値の順番については、`getDbidInfoKeys()`で返されるキーの一覧と同じです。
    戻り値:
      全てのDBIDの属性情報のリスト(配列)
    関連項目:
      - `getDbidInfoKeys()`
    変更履歴:
      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

    public void setDbidInfo(String[][] dbidVals)
    全てのDBIDの属性情報のリスト(配列)をセットします。 このメソッドを呼び出すと、DBConfig.xmlで定義されているDBID情報一覧を"一旦削除し"、 その上で、引数のDBID情報一覧をDBConfig.xmlに書き込みます。 値の順番については、`getDbidInfoKeys()`で返されるキーの一覧と同じです。 書き込みの直前に、同じフォルダにタイムスタンプを付加したバックアップファイルを作成します。
    パラメータ:
      `dbidVals` - 全てのDBIDの属性情報の配列の配列
    関連項目:
      - `getDbidInfoKeys()`
    変更履歴:
      5.1.9.0 (2010/08/01) 新規作成, 5.6.7.0 (2013/07/27) 内部MapをDBConfig.xmlの読み込み順に変更。

  - ### getDriverKey

    public static String getDriverKey()
    DBドライバーの属性キーを返します。
    戻り値:
      DBドライバーの属性キー
    変更履歴:
      5.1.9.0 (2010/08/01) 新規作成
    このﾒｿｯﾄﾞは、nullを返しません

  - ### getDriverList

    public String[] getDriverList()
    DBドライバーのリスト(配列)を返します。
    戻り値:
      DBドライバーリスト(配列)
    変更履歴:
      5.1.9.0 (2010/08/01) 新規作成, 5.6.7.0 (2013/07/27) driverList を書き込むのではなく、作成します。
    このﾒｿｯﾄﾞは、nullを返しません

  - ### setDriverList

    public void setDriverList(String... drivers)
    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

    public String 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 の場合は、ｴﾗｰﾒｯｾｰｼﾞを出さない。