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

## クラス Selection_DB

- java.lang.Object
- - org.opengion.hayabusa.db.Selection_NULL
  - - org.opengion.hayabusa.db.Selection_DB

- すべての実装されたインタフェース:
    `Selection`

      public class Selection_DB
      extends Selection_NULL

  データのコード情報を取り扱うクラスです。 コードのキーとラベルの情報から、HTMLのメニューやリストを作成するための オプション タグを作成したり、与えられたキーをもとに、チェック済みのオプションタグを作成したり します。 QUERYの第１カラムは、選択キーになります。第２カラムはラベルです。ここまでは必須です。 第３カラムが存在する場合は、短縮カラムとして認識されます。存在しない場合は、 短縮ラベルは使用しません。 メニュー作成用に、SELECT文を与えます。 SELECT 値,ラベル[,Sラベル][,グループ][,クラス] FROM XXXX で指定され、値、ラベルまでは必須、 グループは、optgroup に対して指定するラベルです。クラスは、そのオプションに 色づけなどを行う為の指定です。 なお、グループ、クラス は、NULL(または、ゼロ文字列)の場合は、適用されません。)
  機能分類
    選択データ制御
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### フィールドの概要

    - ### インタフェースから継承されたフィールド org.opengion.hayabusa.db.Selection

      `NO_VALUE_OPTION`

  - ### コンストラクタの概要

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `Selection_DB​(String newQuery, String dbid, String lang, String addKeyLabel)` | コンストラクター ＤＢ検索用のＳＱＬ文を与えて、初期化します。

  - ### メソッドの概要

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `String` | `getOption​(String selectValue, boolean seqFlag, boolean useShortLabel)` | 初期値が選択済みの 選択肢(オプション)を返します。
    `String` | `getValueLabel​(String selectValue, boolean isSLbl)` | 選択肢(value)に対するラベルを返します。
    `boolean` | `isTimeOver()` | オブジェクトのキャッシュが時間切れかどうかを返します。

    - ### クラスから継承されたメソッド org.opengion.hayabusa.db.Selection_NULL

      `getOption, getValueLabel, setCodeParam`

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

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

- - ### コンストラクタの詳細

    - #### Selection_DB

          public Selection_DB​(String newQuery,
                              String dbid,
                              String lang,
                              String addKeyLabel)

      コンストラクター ＤＢ検索用のＳＱＬ文を与えて、初期化します。 SQL文は、KEY,LNAME [,SNAME] で、第３項がなければ、LNAME を使用します。 LNAME は、通常の値を返す場合に、SNAME は、一覧表示の値を返す場合に使用します。 特別に、KEY のみの場合は、lang に基づく ResourceManager からﾗﾍﾞﾙを取得します。 ただし、その場合は、オーナー(SYSTEM_ID)は選べません。
      パラメータ:
        `newQuery` - DB検索(SQL)文字列
        `dbid` - データベース接続先ID
        `lang` - リソースを使用する場合の言語
        `addKeyLabel` - キー:ラベル形式で表示するかどうか[true/false/null]
      変更履歴:
        3.5.4.2 (2003/12/15) コンストラクター 新規追加, 3.6.0.9 (2004/12/03) isMultiSelect の判定をラベル部のユニーク度で判定します。, 3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定, 3.8.9.2 (2007/07/28) グループと、クラスを追加。Select文の第３、第４引数として指定。, 4.0.0.0 (2006/11/15) lang 属性を追加します。, 4.3.8.0 (2009/08/01) ツールチップ表示機能追加, 5.1.3.0 (2010/02/01) ラベル(短)がnullの場合でも、ラベル(短)で表示されてしまうバグを修正, 5.1.3.0 (2010/02/01) 一覧表示以外は、ツールチップ表示しない, 6.1.0.0 (2014/12/26) Column 側に移動。の処理忘れ, 6.2.0.0 (2015/02/27) コードリソースのパラメータの指定方法を変更します。, 6.2.0.0 (2015/02/27) キー:ラベル形式で表示するかどうかを、指定できるようにします。, 6.2.2.0 (2015/03/27) BRと\nを相互に変換する処理を追加, 6.2.2.3 (2015/04/10) htmlフィルターに、BR→改行処理機能を追加。, 6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。

  - ### メソッドの詳細

    - #### getOption

          public String getOption​(String selectValue,
                                  boolean seqFlag,
                                  boolean useShortLabel)

      初期値が選択済みの 選択肢(オプション)を返します。 このオプションは、引数の値を初期値とするオプションタグを返します。 このメソッドでは、引数のuseShortLabelがtrueに指定された場合に、ラベル(短)をベースとした ツールチップ表示を行います。
      定義:
        `getOption` インタフェース内 `Selection`
      オーバーライド:
        `getOption` クラス内 `Selection_NULL`
      パラメータ:
        `selectValue` - 選択されている値
        `seqFlag` - シーケンスアクセス機能 [true:ON/false:OFF]
        `useShortLabel` - ラベル(短)をベースとしたオプション表示を行うかどうか。
      戻り値:
        オプションタグ
      変更履歴:
        5.1.3.0 (2010/02/01) 追加, 6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。, 6.4.3.2 (2016/02/19) ConcurrentHashMap は、key,val ともに、NOT NULL制限あり。, 7.0.6.3 (2019/11/08) 冗長な null チェックを外した際に、ゼロ文字列チェックまで外してしまった。
      このメソッドは、nullを返しません

    - #### getValueLabel

          public String getValueLabel​(String selectValue,
                                      boolean isSLbl)

      選択肢(value)に対するラベルを返します。 選択肢(value)が、存在しなかった場合は、選択肢そのものを返します。 このメソッドでは、短縮ラベルを返すかどうかを指定するフラグを指定します。 getValueLabel( XX,false ) は、getValueLabel( XX ) と同じです。
      定義:
        `getValueLabel` インタフェース内 `Selection`
      オーバーライド:
        `getValueLabel` クラス内 `Selection_NULL`
      パラメータ:
        `selectValue` - 選択肢の値
        `isSLbl` - 短縮ラベルを使用する [true:使用する/false:しない]
      戻り値:
        選択肢のラベル
      関連項目:
        `Selection_NULL.getValueLabel( String )`
      変更履歴:
        4.0.0.0 (2005/11/30) を追加, 5.3.5.0 (2011/05/01) 名称(短)表示時に名称(長)をツールチップで表示する。, 6.2.0.0 (2015/02/27) Description があれば、優先して title 属性に設定します。, 6.2.0.0 (2015/02/27) キー:ラベル形式で表示するかどうかを、指定できるようにします。, 6.2.2.0 (2015/03/27) BRと\nを相互に変換する処理を追加, 6.2.2.3 (2015/04/10) htmlフィルターに、BR→改行処理機能を追加。, 6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。, 6.4.3.3 (2016/03/04) ConcurrentHashMap の not null制限のチェック追加

    - #### isTimeOver

          public boolean isTimeOver()

      オブジェクトのキャッシュが時間切れかどうかを返します。 キャッシュが時間切れ(無効)であれば、true を、有効であれば、 false を返します。
      定義:
        `isTimeOver` インタフェース内 `Selection`
      オーバーライド:
        `isTimeOver` クラス内 `Selection_NULL`
      戻り値:
        キャッシュが時間切れなら true
      変更履歴:
        4.0.0.0 (2005/01/31) 新規作成