クラス 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
    カラム番号 0
    static final int
    カラム番号 1
    static final int
    カラム番号 6
    static final int
    カラム番号 5
    static final int
    カラム番号 4
    (package private) static final int
    内部データのカラム数 13
    static final int
    カラム番号 12
    static final int
    カラム番号 9
    static final int
    カラム番号 2
    static final int
    カラム番号 11
    static final int
    カラム番号 7
    static final int
    カラム番号 10
    static final int
    カラム番号 3
    static final int
    カラム番号 8
  • コンストラクタの概要

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

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

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

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • フィールド詳細

  • コンストラクタの詳細

    • 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) 新規追加, 8.5.4.2 (2024/01/12) PMD 7.0.0 LinguisticNaming 対応
    • 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 概要説明 追加, 8.5.6.1 (2024/03/29) PMD 7.0.0 Finding duplicated code with CPD
      このメソッドは、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 概要説明 追加, 8.5.6.1 (2024/03/29) PMD 7.0.0 Finding duplicated code with CPD
      このメソッドは、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 概要説明 追加, 8.5.6.1 (2024/03/29) PMD 7.0.0 Finding duplicated code with CPD
      このメソッドは、nullを返しません
    • toString

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