クラス CodeData


  • public final class CodeData
    extends Object
    systemId と lang に対応したコードデータを作成します。 コードデータは、項目(CLM)に対して、複数のコード(CODE)を持っています。 この複数のコードを表示順に持つことで、プルダウンメニュー等の表示順を指定します。 コードデータを作成する場合は、同一項目・コードで、作成区分違いの場合は、 最も大きな作成区分を持つコードを使用します。 作成区分(KBSAKU)は、他のリソースと異なり、基本的には使用しません。 これは、通常は項目単位に作成区分を持つべきところを、コード単位でしか 持てないデータベースの設計になっている為です。アプリケーション側で設定条件を きちんと管理すれば、作成区分を使用できますが、一般にはお奨めできません。
    変更履歴:
    4.0.0.0 (2004/12/31) 新規作成
    機能分類
    リソース管理
    バージョン
    4.0
    作成者
    Kazuhiko Hasegawa
    導入されたバージョン:
    JDK5.0,
    • フィールドの概要

      フィールド 
      修飾子とタイプ フィールド 説明
      static int CLM
      カラム番号 0
      static int CODE
      カラム番号 1
      static int CODE_PARAM
      カラム番号 6
      static int CODEGRP
      カラム番号 5
      static int CODELVL
      カラム番号 4
      (package private) static int DATA_SIZE
      内部データのカラム数 13
      static int DESCRIPT
      カラム番号 12
      static int KBSAKU
      カラム番号 9
      static int LNAME
      カラム番号 2
      static int RLNAME
      カラム番号 11
      static int ROLES
      カラム番号 7
      static int RSNAME
      カラム番号 10
      static int SNAME
      カラム番号 3
      static int SYSTEM_ID
      カラム番号 8
    • コンストラクタの概要

      コンストラクタ 
      コンストラクタ 説明
      CodeData​(String clm, Map<String,​String[]> data)
      配列文字列のデータを元に、CodeDataオブジェクトを構築します。
      CodeData​(String clm, Map<String,​String[]> data, boolean[] useFlag)
      配列文字列のデータを元に、CodeDataオブジェクトを構築します。
    • コンストラクタの詳細

      • CodeData

        CodeData​(String clm,
                 Map<String,​String[]> data,
                 boolean[] useFlag)
        配列文字列のデータを元に、CodeDataオブジェクトを構築します。 このコンストラクタは、他のパッケージから呼び出せないように、 パッケージプライベートにしておきます。 このコンストラクタは、マスタリソースファイルを想定しています。 引数の並び順は、CLM,CODE,LNAME,SNAME,CODELVL,CODEGRP,CODE_PARAM,ROLES,SYSTEM_ID,KBSAKU,RSNAME,RLNAME,DESCRIPT
        パラメータ:
        clm - カラム名
        data - 規定の順番の文字列配列を格納
        useFlag - 使用フラグ配列(サブセット化するときの有効/無効を指定)
        変更履歴:
        5.1.9.0 (2010/08/01) 新規追加, 6.3.6.0 (2015/08/16) System.arraycopy が使える箇所は、置き換えます。
      • CodeData

        CodeData​(String clm,
                 Map<String,​String[]> data)
        配列文字列のデータを元に、CodeDataオブジェクトを構築します。 このコンストラクタは、他のパッケージから呼び出せないように、 パッケージプライベートにしておきます。 このコンストラクタは、マスタリソースファイルを想定しています。 引数の並び順は、CLM,CODE,LNAME,SNAME,CODELVL,CODEGRP,CODE_PARAM,ROLES,SYSTEM_ID,KBSAKU,RSNAME,RLNAME,DESCRIPT
        パラメータ:
        clm - カラム名
        data - 規定の順番の文字列配列を格納
        変更履歴:
        4.3.0.0 (2008/07/04) ロールモードマルチ対応, 4.3.8.0 (2009/08/01) rawShortLabel追加, 4.3.8.0 (2009/08/01) グループ機能とパラメータの判定、isUseFlag フラグの追加, 5.2.2.0 (2010/11/01) "_" の取り扱いの変更, 5.6.8.2 (2103/09/20) rawlongLabel追加, 6.2.0.0 (2015/02/27) description 概要説明 追加, 6.9.5.0 (2018/04/23) USE_MULTI_KEY_SELECT 廃止(IE8以降ブラウザ標準)
    • メソッドの詳細

      • getColumn

        public String getColumn()
        コードデータのキーを返します。
        戻り値:
        コードデータのキー
      • getCodeKey

        public String getCodeKey​(int seqNo)
        コードデータのキーを返します。
        パラメータ:
        seqNo - 表示順
        戻り値:
        コードデータのキー
      • getLongLabel

        public String getLongLabel​(int seqNo)
        コードデータの表示名を返します。
        パラメータ:
        seqNo - 表示順
        戻り値:
        コードデータの表示名
      • getShortLabel

        public String getShortLabel​(int seqNo)
        コードデータの短縮表示名を返します。
        パラメータ:
        seqNo - 表示順
        戻り値:
        コードデータの短縮表示名
      • getCodeLevel

        public String getCodeLevel​(int seqNo)
        コード階層を返します。 通常のメニューは、階層が "1" になります。optgroup要素として使用する場合は、 階層を "0" で登録します。
        パラメータ:
        seqNo - 表示順
        戻り値:
        コード階層( "1":option要素、"0":optgroup要素 )
      • isUse

        public boolean isUse​(int seqNo)
        このコードが、使用できるかどうかを、返します。 コードグループや、コードリストなどで、サブセットを作成する場合、 プルダウンなどの選択肢は、制限しますが、レンデラーのラベルは、制限しません。 これは、既存データを表示させる必要がある為です。 このフラグは、選択肢を作成するときに利用します。 標準状態で作成した場合は、すべての項目が、true になっています。
        パラメータ:
        seqNo - 表示順
        戻り値:
        使用可能な場合は、true
        変更履歴:
        5.1.9.0 (2010/08/01) 新規追加
      • getCodeParam

        public String getCodeParam​(int seqNo)
        コードパラメータを返します。 コードパラメータは、メニューの各要素(option要素)に設定するタグの内容を追記します。 ここに記述した文字列をそのまま追記します。
        パラメータ:
        seqNo - 表示順
        戻り値:
        コードパラメータ
      • getRoles

        public String getRoles​(int seqNo)
        コードロールを取得します。
        パラメータ:
        seqNo - 表示順
        戻り値:
        コードロール
      • getRoleMode

        public RoleMode getRoleMode​(int seqNo)
        カラムオブジェクトのロールモードを返します。
        パラメータ:
        seqNo - 表示順
        戻り値:
        カラムオブジェクトのロールモード
        変更履歴:
        4.3.0.0 (2008/07/04) ロールモードマルチ対応
      • useRoleMode

        public boolean useRoleMode()
        ロールモードを、使用しているかどうかを、返します。 ロールモードを使用している場合は、ロール制御の処理が必要です。 使用している/いないを事前に判断することで、無駄な処理を削減できます。
        戻り値:
        ロールモードを使用している場合は、true
        変更履歴:
        5.1.9.0 (2010/08/01) 新規追加
      • getAddress

        public int getAddress​(String key)
        マッチするコードデータのアドレスを返します。 一致するデータが存在しない場合は、-1 を返します。
        パラメータ:
        key - 検索するキー文字列
        戻り値:
        コードデータのアドレス(なければ、-1)
      • getSize

        public int getSize()
        コードデータの配列数を返します。
        戻り値:
        コードデータの配列数
      • useLevel

        public boolean useLevel()
        コードレベル機能を利用するかどうかを返します。 true:使用する。false:使用しない です。 コードレベル機能を利用する場合は、optgroup タグを出力します。 設定としては、レベル 0 に指定のカラムを optgroup として出力します。
        戻り値:
        コードレベル機能を利用するかどうか(初期値:false:使用しない)
        変更履歴:
        5.1.9.0 (2010/08/01) 新規追加
      • useParam

        public boolean useParam()
        パラメータを利用するかどうかを返します。 true:使用する。false:使用しない です。 このパラメータは、class 属性として設定される値です。 これを使用して、各種レイアウトなどの指定が可能です。
        戻り値:
        パラメータを利用するかどうか(初期値:false:使用しない)
        変更履歴:
        5.1.9.0 (2010/08/01) 新規追加
      • useGroup

        public boolean useGroup()
        コードグループを利用するかどうかを返します。 true:使用する。false:使用しない です。 このコードグループは、リソースの引数で設定した CSV形式に 対して、値が設定されていたかどうかを返します。 これにより、不要な処理を行う必要がなくなります。
        戻り値:
        パラメータを利用するかどうか(初期値:false:使用しない)
        変更履歴:
        5.1.9.0 (2010/08/01) 新規追加
      • toCodeString

        public String toCodeString()
        オブジェクトの識別子として,詳細なコード情報を返します。 キー:ラベル ・・の繰り返し文字列を返します。
        戻り値:
        詳細なコード情報
        変更履歴:
        4.1.0.0 (2008/01/18) 新規追加
      • getRawShortLabel

        public String getRawShortLabel​(int seqNo)
        コードデータの短縮表示名(spanタグ無し)を返します。
        パラメータ:
        seqNo - 表示順
        戻り値:
        コードデータの短縮表示名(spanタグ無し)
        変更履歴:
        4.3.8.0 (2009/08/01) 新規追加
      • getRawLongLabel

        public String getRawLongLabel​(int seqNo)
        未加工の名前長を返します。
        パラメータ:
        seqNo - 表示順
        戻り値:
        コードデータの短縮表示名(spanタグ無し)
        変更履歴:
        5.6.8.2 (2013/09/13) 新規追加
      • getDescription

        public String getDescription​(int seqNo)
        概要説明 を返します。 この概要説明は、個々の コードに対する説明です。 optionタグに、title属性として使用すれば、説明文になります。
        パラメータ:
        seqNo - 表示順
        戻り値:
        コードデータの概要説明
        変更履歴:
        6.2.0.0 (2015/02/27) description 概要説明 追加
      • subsetList

        public CodeData subsetList​(String codeCsv)
        指定のコードに限定された CodeData を構築して返します。 このサブセットは、コードのCSV文字列に基づいて作成されます。 この CodeData は、本当のサブセットではなく、プルダウンメニューなどの選択肢のリストを 制限します。これは、一覧表示(レンデラー)では、すべての既存の設定値を表示しておく 必要があるからです。そして、変更時(エディター)に、選択肢を制限します。 引数の codeCsv が、null,ゼロ文字列の場合は、自分自身を返します。(同一です)
        パラメータ:
        codeCsv - 指定のコードをカンマで連結されたもの
        戻り値:
        指定のコードに限定された CodeData
        変更履歴:
        5.1.9.0 (2010/08/01) 新規追加, 5.6.8.2 (2013/09/20) rawLongLabel対応, 6.2.0.0 (2015/02/27) description 概要説明 追加
        このメソッドは、nullを返しません
      • subsetGroup

        public CodeData subsetGroup​(String group)
        指定のgroupに所属する限定された CodeData を構築して返します。 このサブセットは、コードグループのCSV文字列に指定に基づいて作成されます。 この CodeData は、本当のサブセットではなく、プルダウンメニューなどの選択肢のリストを 制限します。これは、一覧表示(レンデラー)では、すべての既存の設定値を表示しておく 必要があるからです。そして、変更時(エディター)に、選択肢を制限します。 引数の group が、null,ゼロ文字列、または、内部でグループを使用していない場合は、 自分自身を返します。(同一です) 引数の group も、内部設定のグループも、CSV形式CSV で複数のグループを指定できます。 この場合は、各グループのうち、どれか一つでも該当すれば、使用(true)になります。
        パラメータ:
        group - 指定のコードグループのCSV文字列
        戻り値:
        指定のgroupに所属する限定された CodeData
        変更履歴:
        5.1.9.0 (2010/08/01) 新規追加, 5.6.8.0 (2013/09/20) rawLongLabel対応, 6.2.0.0 (2015/02/27) description 概要説明 追加
        このメソッドは、nullを返しません
      • subsetRole

        public CodeData subsetRole​(RoleMode userRole)
        指定のコードに限定された CodeData を構築して返します。 このサブセットは、ロールの指定に基づいて作成されます。 この CodeData は、本当のサブセットではなく、プルダウンメニューなどの選択肢のリストを 制限します。これは、一覧表示(レンデラー)では、すべての既存の設定値を表示しておく 必要があるからです。そして、変更時(エディター)に、選択肢を制限します。 引数の role が、null または、内部でロールを使用していない場合は、自分自身を返します。(同一です)
        パラメータ:
        userRole - 指定のロール(ユーザーロール)
        戻り値:
        指定のコードに限定された CodeData
        変更履歴:
        5.1.9.0 (2010/08/01) 新規追加, 5.6.8.2 (2013/09/13) rawLongLabel対応, 6.2.0.0 (2015/02/27) description 概要説明 追加
        このメソッドは、nullを返しません
      • toString

        public String toString()
        オブジェクトの識別子として,詳細なコード情報を返します。
        オーバーライド:
        toString クラス内 Object
        戻り値:
        詳細なコード情報
        変更履歴:
        4.1.0.0 (2008/01/18) メソッド修正(改行コード削除)
        このメソッドは、nullを返しません