org.opengion.hayabusa.db

## クラス SelectionFactory

- java.lang.Object
- - org.opengion.hayabusa.db.SelectionFactory

-     public final class SelectionFactory
      extends Object

       Selectionオブジェクトを取得する為に使用するファクトリクラスです。

       Selectionオブジェクト のキー(codeName)を元に、オブジェクトをキャッシュ管理
       することが、主な機能です。

  変更履歴:

    3.5.5.7 (2004/05/10) 新規作成

  機能分類
    選択データ制御
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### メソッドのサマリー

    すべてのメソッド staticメソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `static void` | `clear()` Selectionオブジェクトをプールからすべて削除します。
    `static Selection` | `newDBRadioSelection(String query, String dbid, String lang)` DB検索(SQL)文字列より、データベースSelectionオブジェクトを構築します。
    `static Selection` | `newDBSelection(String query, String dbid, String lang, String addKeyLabel)` DB検索(SQL)文字列より、データベースSelectionオブジェクトを構築します。
    `static Selection` | `newSelection(String type, CodeData codeData, String addKeyLabel)` 各種Selectionオブジェクトを構築します。
    `static Selection` | `newSelection(String type, String editPrm, String lang)` 各種Selectionオブジェクトを構築します。

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

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

- - ### メソッドの詳細

    - #### newDBSelection

          public static Selection newDBSelection(String query,
                                                 String dbid,
                                                 String lang,
                                                 String addKeyLabel)

      DB検索(SQL)文字列より、データベースSelectionオブジェクトを構築します。 Selection_DB では、検索行毎のクエリーがあるため、name + query でキャッシュします。
      パラメータ:
        `query` - DB検索(SQL)文字列
        `dbid` - データベース接続先ID
        `lang` - リソースを使用する場合の言語
        `addKeyLabel` - キー:ラベル形式で表示するかどうか[true/false/null]
      戻り値:
        Selectionオブジェクト
      変更履歴:

        4.0.0.0 (2006/11/15) lang 属性を追加します。
        6.2.0.0 (2015/02/27) キー:ラベル形式で表示するかどうかを、指定できるようにします。
        6.4.3.1 (2016/02/12) PMD refactoring. Collections.synchronizedMap で対応。

    - #### newDBRadioSelection

          public static Selection newDBRadioSelection(String query,
                                                      String dbid,
                                                      String lang)

      DB検索(SQL)文字列より、データベースSelectionオブジェクトを構築します。 Selection_DB では、検索行毎のクエリーがあるため、name + query でキャッシュします。
      パラメータ:
        `query` - DB検索(SQL)文字列
        `dbid` - データベース接続先ID
        `lang` - リソースを使用する場合の言語
      戻り値:
        Selectionオブジェクト
      変更履歴:

        4.3.3.6 (2008/11/15) 新規作成
        6.4.3.1 (2016/02/12) PMD refactoring. Collections.synchronizedMap で対応。

    - #### newSelection

          public static Selection newSelection(String type,
                                               String editPrm,
                                               String lang)

      各種Selectionオブジェクトを構築します。 ここでは、Selectionオブジェクトのタイプが、(KEYVAL,HM,NUM,YMD)について作成されます。 ここで作成されるオブジェクトは、この、SelectionFactoryではキャッシュしません。 各RendererやEditorが共有されているので、そちらでキャッシュされています。 type が指定のキーワード以外の場合は、Exception が返されます。 ※ type="NULL" も使用可能です。これは、どんな場合でも、引数の param を返す Selection オブジェクトを返します。内部的に、CodeDataが存在しない場合など、エラーメッセージを 引数に与えて修正を促すようなケースで使用します。 ※ type="MENU" を指定した場合は、KBMENU(type=KEYVAL) を構築します。 パラメータは、キー：値 の組み合わせの文字列です。 ※ 指定のタイプが存在しない場合、HybsSystemException が throw されます。
      パラメータ:
        `type` - Selectionオブジェクトのタイプ(KEYVAL,MENU,HM,NUM,YMD,MENU)
        `editPrm` - type別のパラメータ文字列
        `lang` - 言語
      戻り値:
        Selectionオブジェクト
      変更履歴:

        5.7.3.0 (2014/02/07) 新規作成
        6.0.4.0 (2014/11/28) type に、MENU を指定できるように変更
        6.2.6.0 (2015/06/19) type別Selectionの場合、ラベルリソースを使用する為、言語を引数で渡す。
        6.3.4.0 (2015/08/01) Selection_HM の引数から、lang 属性を削除します。

    - #### newSelection

          public static Selection newSelection(String type,
                                               CodeData codeData,
                                               String addKeyLabel)

      各種Selectionオブジェクトを構築します。 ここでは、Selectionオブジェクトのタイプが、(MENU,RADIO)について作成されます。 ここで作成されるオブジェクトは、この、SelectionFactoryではキャッシュしません。 各RendererやEditorが共有されているので、そちらでキャッシュされています。 type が指定のキーワード以外の場合は、Exception が返されます。 codeData オブジェクトが null の場合は、Selectionオブジェクト は null が返されます。 ※ 指定のタイプが存在しない場合、HybsSystemException が throw されます。
      パラメータ:
        `type` - Selectionオブジェクトのタイプ(MENU,RADIO)
        `codeData` - CodeDataオブジェクト
        `addKeyLabel` - キー:ラベル形式で表示するかどうか[true/false/null]
      戻り値:
        Selectionオブジェクト(codeData オブジェクトが null の場合は、null)
      変更履歴:

        5.7.3.0 (2014/02/07) 新規作成
        6.2.0.0 (2015/02/27) キー:ラベル形式で表示するかどうかを、指定できるようにします。
        6.2.2.4 (2015/04/24) BITBOX 新規追加
        6.4.4.0 (2016/03/11) CHBOX2は、コードリソースも使用できるように変更。

    - #### clear

          public static void clear()

      Selectionオブジェクトをプールからすべて削除します。 システム全体を初期化するときや、動作が不安定になったときに行います。 プールの方法自体が,一種のキャッシュ的な使いかたしかしていない為, 実行中でも、いつでもプールを初期化できます。
      変更履歴:

        4.3.3.6 (2008/11/15) DBRadioMap追加
        6.4.3.1 (2016/02/12) PMD refactoring. Collections.synchronizedMap で対応。

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.