パッケージ 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) 新規作成
機能分類
  選択データ制御
導入されたバージョン:
  JDK5.0,

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `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, String editPrm, String lang)`
  各種Selectionオブジェクトを構築します。
  `static Selection`
  `newSelection(String type, CodeData codeData, String addKeyLabel)`
  各種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 属性を削除します。, 7.2.4.0 (2020/05/11) Selection_FILES 追加

  - ### 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 で対応。