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

## クラス SelectionFactory

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

-     public final class SelectionFactory
      extends java.lang.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​(java.lang.String query, java.lang.String dbid, java.lang.String lang)` | DB検索(SQL)文字列より、データベースSelectionオブジェクトを構築します。
    `static Selection` | `newDBSelection​(java.lang.String query, java.lang.String dbid, java.lang.String lang, java.lang.String addKeyLabel)` | DB検索(SQL)文字列より、データベースSelectionオブジェクトを構築します。
    `static Selection` | `newSelection​(java.lang.String type, java.lang.String editPrm, java.lang.String lang)` | 各種Selectionオブジェクトを構築します。
    `static Selection` | `newSelection​(java.lang.String type, CodeData codeData, java.lang.String addKeyLabel)` | 各種Selectionオブジェクトを構築します。

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

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

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

    - #### newDBSelection

          public static Selection newDBSelection​(java.lang.String query,
                                                 java.lang.String dbid,
                                                 java.lang.String lang,
                                                 java.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​(java.lang.String query,
                                                      java.lang.String dbid,
                                                      java.lang.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​(java.lang.String type,
                                               java.lang.String editPrm,
                                               java.lang.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 属性を削除します。, 7.2.4.0 (2020/05/11) Selection_FILES 追加

    - #### newSelection

          public static Selection newSelection​(java.lang.String type,
                                               CodeData codeData,
                                               java.lang.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 で対応。