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

クラス DatabaseConfig


  • public class DatabaseConfig
    extends java.lang.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 関係 廃止
    バージョン
    4.0
    作成者
    高橋正和
    導入されたバージョン:
    JDK6.0,
    • フィールドの概要

      フィールド 
      修飾子とタイプ フィールド 説明
      static java.lang.String DB_CONFIG_FILE  
    • コンストラクタの概要

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

      すべてのメソッド staticメソッド インスタンス・メソッド concreteメソッド 
      修飾子とタイプ メソッド 説明
      java.lang.String getCodeKeyVal()
      DBID情報のキーとタイトルから、プルダウンメニューを作成するための情報を取得します。
      EDbid getDbid​(java.lang.String key)
      dbidKeyをキーにしてExpandedDbid型でマップの内容を返す。
      java.lang.String[][] getDbidInfo()
      全てのDBIDの属性情報のリスト(配列)で返します。
      static java.lang.String[] getDbidInfoKeys()
      DBIDとして管理している項目のキーの一覧を配列形式で返します。
      static java.lang.String getDriverKey()
      DBドライバーの属性キーを返します。
      java.lang.String[] getDriverList()
      DBドライバーのリスト(配列)を返します。
      void reload()
      マップをクリアします。
      void setDbidInfo​(java.lang.String[][] dbidVals)
      全てのDBIDの属性情報のリスト(配列)をセットします。
      void setDriverList​(java.lang.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​(java.lang.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​(java.lang.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 java.lang.String[] getDbidInfoKeys()
        DBIDとして管理している項目のキーの一覧を配列形式で返します。
        戻り値:
        項目のキー一覧
        変更履歴:
        5.1.9.0 (2010/08/01) 新規作成
        このメソッドは、nullを返しません
      • getDbidInfo

        public java.lang.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​(java.lang.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 java.lang.String getDriverKey()
        DBドライバーの属性キーを返します。
        戻り値:
        DBドライバーの属性キー
        変更履歴:
        5.1.9.0 (2010/08/01) 新規作成
        このメソッドは、nullを返しません
      • getDriverList

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

        public void setDriverList​(java.lang.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 java.lang.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 の場合は、エラーメッセージを出さない。