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

クラス DatabaseConfig

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

public final class DatabaseConfig extends Object
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,
  • フィールドの概要

    フィールド
    修飾子とタイプ
    フィールド
    説明
    static final String
    初期ファイルの設定 "../DBConfig.xml"
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
    初期値を使ってXMLを読み込む xmlFilenameの初期値は..
    XMLファイルの名前を指定して読み込む
  • メソッドの概要

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

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

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

  • コンストラクタの詳細

    • 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の属性情報のリスト(配列)
      関連項目:
      変更履歴:
      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の属性情報の配列の配列
      関連項目:
      変更履歴:
      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

      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 の場合は、エラーメッセージを出さない。