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

# クラス CodeData

java.lang.Object
org.opengion.hayabusa.resource.CodeData

public final class CodeData extends Object
systemId と lang に対応したコードデータを作成します。 コードデータは、項目(CLM)に対して、複数のコード(CODE)を持っています。 この複数のコードを表示順に持つことで、プルダウンメニュー等の表示順を指定します。 コードデータを作成する場合は、同一項目・コードで、作成区分違いの場合は、 最も大きな作成区分を持つコードを使用します。 作成区分(KBSAKU)は、他のリソースと異なり、基本的には使用しません。 これは、通常は項目単位に作成区分を持つべきところを、コード単位でしか 持てないデータベースの設計になっている為です。アプリケーション側で設定条件を きちんと管理すれば、作成区分を使用できますが、一般にはお奨めできません。

変更履歴:
  4.0.0.0 (2004/12/31) 新規作成
機能分類
  リソース管理
導入されたバージョン:
  JDK5.0,

- ## フィールドの概要

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

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

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

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `int`
  `getAddress(String key)`
  マッチするコードデータのアドレスを返します。
  `String`
  `getCodeKey(int seqNo)`
  コードデータのキーを返します。
  `String`
  `getCodeLevel(int seqNo)`
  コード階層を返します。
  `String`
  `getCodeParam(int seqNo)`
  コードパラメータを返します。
  `String`
  `getColumn()`
  コードデータのキーを返します。
  `String`
  `getDescription(int seqNo)`
  概要説明 を返します。
  `String`
  `getLongLabel(int seqNo)`
  コードデータの表示名を返します。
  `String`
  `getRawLongLabel(int seqNo)`
  未加工の名前長を返します。
  `String`
  `getRawShortLabel(int seqNo)`
  コードデータの短縮表示名(spanタグ無し)を返します。
  `RoleMode`
  `getRoleMode(int seqNo)`
  カラムオブジェクトのロールモードを返します。
  `String`
  `getRoles(int seqNo)`
  コードロールを取得します。
  `String`
  `getShortLabel(int seqNo)`
  コードデータの短縮表示名を返します。
  `int`
  `getSize()`
  コードデータの配列数を返します。
  `boolean`
  `isUse(int seqNo)`
  このコードが、使用できるかどうかを、返します。
  `CodeData`
  `subsetGroup(String group)`
  指定のgroupに所属する限定された CodeData を構築して返します。
  `CodeData`
  `subsetList(String codeCsv)`
  指定のコードに限定された CodeData を構築して返します。
  `CodeData`
  `subsetRole(RoleMode userRole)`
  指定のコードに限定された CodeData を構築して返します。
  `String`
  `toCodeString()`
  オブジェクトの識別子として，詳細なコード情報を返します。
  `String`
  `toString()`
  オブジェクトの識別子として，詳細なコード情報を返します。
  `boolean`
  `useGroup()`
  コードグループを利用するかどうかを返します。
  `boolean`
  `useLevel()`
  コードレベル機能を利用するかどうかを返します。
  `boolean`
  `useParam()`
  パラメータを利用するかどうかを返します。
  `boolean`
  `useRoleMode()`
  ロールモードを、使用しているかどうかを、返します。

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

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

- ## フィールド詳細

  - ### CLM

    public static final int CLM
    カラム番号 0
    関連項目:
      - 定数フィールド値

  - ### CODE

    public static final int CODE
    カラム番号 1
    関連項目:
      - 定数フィールド値

  - ### LNAME

    public static final int LNAME
    カラム番号 2
    関連項目:
      - 定数フィールド値

  - ### SNAME

    public static final int SNAME
    カラム番号 3
    関連項目:
      - 定数フィールド値

  - ### CODELVL

    public static final int CODELVL
    カラム番号 4
    関連項目:
      - 定数フィールド値

  - ### CODEGRP

    public static final int CODEGRP
    カラム番号 5
    関連項目:
      - 定数フィールド値

  - ### CODE_PARAM

    public static final int CODE_PARAM
    カラム番号 6
    関連項目:
      - 定数フィールド値

  - ### ROLES

    public static final int ROLES
    カラム番号 7
    関連項目:
      - 定数フィールド値

  - ### SYSTEM_ID

    public static final int SYSTEM_ID
    カラム番号 8
    関連項目:
      - 定数フィールド値

  - ### KBSAKU

    public static final int KBSAKU
    カラム番号 9
    関連項目:
      - 定数フィールド値

  - ### RSNAME

    public static final int RSNAME
    カラム番号 10
    関連項目:
      - 定数フィールド値

  - ### RLNAME

    public static final int RLNAME
    カラム番号 11
    関連項目:
      - 定数フィールド値

  - ### DESCRIPT

    public static final int DESCRIPT
    カラム番号 12
    関連項目:
      - 定数フィールド値

  - ### DATA_SIZE

    static final int DATA_SIZE
    内部データのカラム数 13
    関連項目:
      - 定数フィールド値

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

  - ### 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を返しません