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

## クラス DBEditConfig

- java.lang.Object
- - org.opengion.hayabusa.db.DBEditConfig

-     public class DBEditConfig
      extends Object

  編集設定情報を管理するためのデータ管理クラスです。 ここで管理される各パラメーターの意味は以下の通りです。 (各インデックス番号は、内部的に管理されているインデックス番号を意味します) ・0:編集名 この編集設定オブジェクトの名称です。 ・1:表示カラム 表示対象となるカラム一覧です。CSV形式で指定します。 この一覧には、非表示のカラムも合わせて管理され、非表示カラムについては、 カラム名の先頭に"!"をつけます。 例) AAA,!BBB,CCC ⇒ AAA,CCCの順に表示(BBBは非表示) ・2:集計カラム 各値をSUMする対象となるカラムです。(CSV形式で複数指定が可能) ここで指定されたカラムは数値型である必要があります。 SQL構文における、SUM関数の引数として指定するカラムに相当します。 ・3:グループカラム 集計カラムの各値をグルーピングするためのカラムです。(CSV形式で複数指定が可能) SQL構文における、GROUP BYに指定するカラムに相当します。 ・4:小計カラム 集計カラムの各値に対し、小計行を付加するためのブレイクキーを指定します。(CSV形式で複数指定が可能) ・5:合計カラム 集計カラムの各値に対し、合計行を付加するためのブレイクキーを指定します。(CSV形式で複数指定が可能) ・6:総合計フラグ 集計カラムの各値に対し、総合計行を付加するかどうかを指定します。(0以外:追加する 0:追加しない) ・7:表示順カラム データの表示順をその順番にCSV形式で指定します。 カラム名の先頭に"!"をつけた場合は、そのカラムは降順で表示されます。 SQL構文における、orderby句に相当します。 ・8:共通フラグ この編集設定オブジェクトが、共通(全ユーザー公開)編集かどうかを 指定します。(0以外:共通 0:個人のみ)
  変更履歴:
    5.3.6.0 (2011/06/01) 新規追加
  バージョン
    5.0
  作成者
    Hiroki Nakamura
  導入されたバージョン:
    JDK6.0,

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

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `DBEditConfig()` | コンストラクタ 空の編集設定オブジェクトを構築します。
    `DBEditConfig​(String[] editVals)` | コンストラクタ 各種パラメーターを配列で指定して編集設定オブジェクトを構築します。
    `DBEditConfig​(String editName, String viewClms, String sumClms, String groupClms, String subTotalClms, String totalClms, String useGrandTotal, String useFirstTotal, String orderByClms, String isCommon)` | コンストラクタ 各種パラメーターを指定して編集設定オブジェクトを構築します。

  - ### メソッドの概要

    すべてのメソッド staticメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `void` | `forEach​(String guikey, BiConsumer<String,​String> action)` | 画面IDに対応した、内部のキーと値の各要素に対して指定されたアクションを実行します。
    `static String[]` | `getEditKeys​(String guikey, String editName)` | 画面ID、編集名をキーに、編集設定オブジェクトの各設定値の管理キーを指定します。
    `String` | `getEditName()` | 編集名を返します。
    `String[]` | `getEditVals()` | 編集設定オブジェクトの各設定値を配列にして返します。
    `int` | `getGroupClmCount()` | グループカラムのカラム数を返します。
    `String` | `getGroupClms()` | グループカラムの一覧をCSV形式で返します。
    `String` | `getOrder​(String clm)` | 指定されたカラムの表示順の優先番号を返します。
    `String` | `getOrderByClms()` | 表示順カラムをCSV形式で返します。
    `int` | `getSubTotalClmCount()` | 小計カラムのカラム数を返します。
    `String` | `getSubTotalClms()` | 小計カラムの一覧をCSV形式で返します。
    `int` | `getSumClmCount()` | 集計カラムのカラム数を返します。
    `String` | `getSumClms()` | 集計カラムの一覧をCSV形式で返します。
    `int` | `getTotalClmCount()` | 合計カラムのカラム数を返します。
    `String` | `getTotalClms()` | 合計カラムの一覧をCSV形式で返します。
    `String` | `getViewClms()` | 表示カラム名の一覧をCSV形式で返します。
    `String` | `getViewClms​(String orgClms)` | 表示カラム(CSV形式)をチェックし、変更があれば、反映したカラムを作成します。
    `boolean` | `isCommon()` | この編集設定オブジェクトが、共通(全ユーザー公開)編集か どうかを返します。
    `boolean` | `isGroupClm​(String clm)` | 指定されたカラムがグループ対象のカラムかどうかを返します。
    `boolean` | `isOrderByDesc​(String clm)` | 指定されたカラムの表示順指定が降順であるかどうかを返します。
    `boolean` | `isSubTotalClm​(String clm)` | 指定されたカラムが小計対象のカラムかどうかを返します。
    `boolean` | `isSumClm​(String clm)` | 指定されたカラムが集計対象のカラムかどうかを返します。
    `boolean` | `isTotalClm​(String clm)` | 指定されたカラムが合計対象のカラムかどうかを返します。
    `boolean` | `useEditName()` | 書き込み許可するかどうかを決める為の情報を返します。
    `boolean` | `useFirstTotal()` | 総合計を最初の行に追加するかどうかを返します。
    `boolean` | `useGrandTotal()` | 総合計行を付加するかどうかを返します。
    `boolean` | `useGroup()` | グループ処理を行うかどうかを返します。
    `boolean` | `useOrderBy()` | 並び替え処理を行うかどうかを返します。
    `boolean` | `useSubTotal()` | 小計処理を行うかどうかを返します。
    `boolean` | `useSum()` | 集計処理を行うかどうかを返します。
    `boolean` | `useTotal()` | 合計処理を行うかどうかを返します。

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

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

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

    - #### DBEditConfig

          public DBEditConfig()

      コンストラクタ 空の編集設定オブジェクトを構築します。

    - #### DBEditConfig

          public DBEditConfig​(String editName,
                              String viewClms,
                              String sumClms,
                              String groupClms,
                              String subTotalClms,
                              String totalClms,
                              String useGrandTotal,
                              String useFirstTotal,
                              String orderByClms,
                              String isCommon)

      コンストラクタ 各種パラメーターを指定して編集設定オブジェクトを構築します。
      パラメータ:
        `editName` - 編集名称
        `viewClms` - 画面表示カラム
        `sumClms` - 集計カラム
        `groupClms` - グループカラム
        `subTotalClms` - 小計カラム
        `totalClms` - 合計カラム
        `useGrandTotal` - 総合計行を追加するか(1:追加する 1以外:追加しない)
        `useFirstTotal` - 総合計行を追加するか(1:追加する 1以外:追加しない)
        `orderByClms` - 表示順
        `isCommon` - 共通編集かどうか(1:共通 1以外:個人のみ)
      変更履歴:
        6.1.1.0 (2015/01/17) 総合計を最初の行に追加するかどうか(FirstTotal)の属性を追加

    - #### DBEditConfig

          public DBEditConfig​(String[] editVals)

      コンストラクタ 各種パラメーターを配列で指定して編集設定オブジェクトを構築します。 各パラメータの配列インデックスは、`getEditKeys(String,String)`で返される キー一覧の配列インデックスと一致します。 各パラメーターの意味については、クラスのJavadoc`DBEditConfig`を参照して下さい。
      パラメータ:
        `editVals` - 設定値(配列)

  - ### メソッドの詳細

    - #### getEditKeys

          public static String[] getEditKeys​(String guikey,
                                             String editName)

      画面ID、編集名をキーに、編集設定オブジェクトの各設定値の管理キーを指定します。 編集設定オブジェクトで管理される各キーに対して、 "EDIT_[KEY]_(画面ID)_(編集名)"というキーを生成し、これを配列にして返します。
      パラメータ:
        `guikey` - 画面ID
        `editName` - 編集名
      戻り値:
        編集設定を管理するためのキー一覧
      変更履歴:
        6.0.2.2 (2014/10/03) 新規追加。DBEditConfig から、移動, 6.3.9.1 (2015/11/27) DBEditConfigManager から、移動。

    - #### getEditVals

          public String[] getEditVals()

      編集設定オブジェクトの各設定値を配列にして返します。 配列のインデックス番号は、`getEditKeys(String,String)`で生成されるキーの インデックス番号と一致します。
      戻り値:
        編集設定オブジェクトの設定値一覧(配列)

    - #### getEditName

          public String getEditName()

      編集名を返します。
      戻り値:
        編集名

    - #### useEditName

          public boolean useEditName()

      書き込み許可するかどうかを決める為の情報を返します。 EDITNAME利用時は、writeCheckタグ内で書き込み許可判定を行っています。（ROLE制御は別） USE_EDIT_WITH_EDITNAME か、writeCheckタグのuseEditをtrueにすれば、書き込み許可となり USE_EDIT_WITH_NAME_SEQ が true の場合は、このメソッドの戻り値がtrue なら書き込み許可となります。 成立条件： EDIT_KEY_NAME に、非表示(!ｶﾗﾑ)がなく、集計ｶﾗﾑ,ｸﾞﾙｰﾌﾟｶﾗﾑ,小計ｶﾗﾑ,合計ｶﾗﾑ,総合計行 も 未使用の場合は、true を、それ以外は、false を返します。 要するに、列の並び替えと、表示順、(降順)指定のみの場合だけ、書き込み許可します。
      戻り値:
        編集名
      変更履歴:
        7.2.9.1 (2020/10/23) writeCheckタグ内で書き込み許可するかどうかを決める為の情報

    - #### getViewClms

          public String getViewClms()

      表示カラム名の一覧をCSV形式で返します。 非表示カラムについては、カラム名の先頭に"!"をつけて返されます。 例) AAA,!BBB,CCC ⇒ AAA,CCCの順に表示(BBBは非表示)
      戻り値:
        表示カラム名一覧(CSV形式)

    - #### getViewClms

          public String getViewClms​(String orgClms)

      表示カラム(CSV形式)をチェックし、変更があれば、反映したカラムを作成します。 表示カラムは、並び順や非表示マーカー(!)などが加味され、ユーザー、画面ごとに データベースに記録されています。JSPソースを修正した場合、データベースに 書き込まれた表示カラムは、反映されないため、カラム選択画面等に表示されません。 そこで、オリジナルのカラムに追加された場合は、カラムを比較することで、 追加分のカラムを、非表示カラムとして、後ろに追記します。 削除された場合は、ViewForm で警告表示することで、ユーザーに変更を促します。
      パラメータ:
        `orgClms` - オリジナルのカラム(CSV形式)
      戻り値:
        変更後の表示カラム(CSV形式)
      変更履歴:
        6.0.2.4 (2014/10/17) JSP修正時の追加カラム対応, 5.9.32.0 (2018/05/02) spritView使用時の対応

    - #### getSumClms

          public String getSumClms()

      集計カラムの一覧をCSV形式で返します。
      戻り値:
        集計カラムの一覧(CSV形式)

    - #### useSum

          public boolean useSum()

      集計処理を行うかどうかを返します。 これは、集計カラムが指定されているか、と同じ意味です。
      戻り値:
        true:対象 false:非対象

    - #### isSumClm

          public boolean isSumClm​(String clm)

      指定されたカラムが集計対象のカラムかどうかを返します。
      パラメータ:
        `clm` - カラム
      戻り値:
        true:対象 false:非対象

    - #### getSumClmCount

          public int getSumClmCount()

      集計カラムのカラム数を返します。
      戻り値:
        集計カラムのカラム数

    - #### getGroupClms

          public String getGroupClms()

      グループカラムの一覧をCSV形式で返します。
      戻り値:
        グループカラムの一覧(CSV形式)

    - #### useGroup

          public boolean useGroup()

      グループ処理を行うかどうかを返します。 これは、グループカラムが指定されているか、と同じ意味です。
      戻り値:
        true:対象 false:非対象

    - #### isGroupClm

          public boolean isGroupClm​(String clm)

      指定されたカラムがグループ対象のカラムかどうかを返します。
      パラメータ:
        `clm` - カラム
      戻り値:
        true:対象 false:非対象

    - #### getGroupClmCount

          public int getGroupClmCount()

      グループカラムのカラム数を返します。
      戻り値:
        グループカラムのカラム数

    - #### getSubTotalClms

          public String getSubTotalClms()

      小計カラムの一覧をCSV形式で返します。
      戻り値:
        小計カラムの一覧(CSV形式)

    - #### useSubTotal

          public boolean useSubTotal()

      小計処理を行うかどうかを返します。 これは、小計カラムが指定されているか、と同じ意味です。
      戻り値:
        true:対象 false:非対象

    - #### isSubTotalClm

          public boolean isSubTotalClm​(String clm)

      指定されたカラムが小計対象のカラムかどうかを返します。
      パラメータ:
        `clm` - カラム
      戻り値:
        true:対象 false:非対象

    - #### getSubTotalClmCount

          public int getSubTotalClmCount()

      小計カラムのカラム数を返します。
      戻り値:
        グループカラムのカラム数

    - #### getTotalClms

          public String getTotalClms()

      合計カラムの一覧をCSV形式で返します。
      戻り値:
        合計カラムの一覧(CSV形式)

    - #### useTotal

          public boolean useTotal()

      合計処理を行うかどうかを返します。 これは、合計カラムが指定されているか、と同じ意味です。
      戻り値:
        true:対象 false:非対象

    - #### isTotalClm

          public boolean isTotalClm​(String clm)

      指定されたカラムが合計対象のカラムかどうかを返します。
      パラメータ:
        `clm` - カラム
      戻り値:
        true:対象 false:非対象

    - #### getTotalClmCount

          public int getTotalClmCount()

      合計カラムのカラム数を返します。
      戻り値:
        グループカラムのカラム数

    - #### useGrandTotal

          public boolean useGrandTotal()

      総合計行を付加するかどうかを返します。
      戻り値:
        true:対象 false:非対象

    - #### useFirstTotal

          public boolean useFirstTotal()

      総合計を最初の行に追加するかどうかを返します。
      戻り値:
        true:対象 false:非対象
      変更履歴:
        6.1.1.0 (2015/01/17) 総合計を最初の行に追加するかどうか(FirstTotal)の属性を追加

    - #### getOrderByClms

          public String getOrderByClms()

      表示順カラムをCSV形式で返します。 カラムの並び順が表示順としての優先順になります。 また、降順で表示するカラムについては、カラム名の先頭に"!"が付加されます。
      戻り値:
        標準順カラムの一覧(CSV形式)

    - #### getOrder

          public String getOrder​(String clm)

      指定されたカラムの表示順の優先番号を返します。 指定カラムが標準として指定されていない場合は、""(ゼロストリング)を返します。
      パラメータ:
        `clm` - カラム
      戻り値:
        表示順の優先番号
      変更履歴:
        6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。
      このメソッドは、nullを返しません

    - #### isOrderByDesc

          public boolean isOrderByDesc​(String clm)

      指定されたカラムの表示順指定が降順であるかどうかを返します。 標準と指定されていない場合は、falseを返します。
      パラメータ:
        `clm` - カラム
      戻り値:
        true:降順 false:昇順

    - #### useOrderBy

          public boolean useOrderBy()

      並び替え処理を行うかどうかを返します。 これは、表示順カラムが指定されているか、と同じ意味です。
      戻り値:
        true:対象 false:非対象

    - #### isCommon

          public boolean isCommon()

      この編集設定オブジェクトが、共通(全ユーザー公開)編集か どうかを返します。
      戻り値:
        0以外:共通 0:個人のみ

    - #### forEach

          public void forEach​(String guikey,
                              BiConsumer<String,​String> action)

      画面IDに対応した、内部のキーと値の各要素に対して指定されたアクションを実行します。 getEditKeys(String,String) で得られるキーの文字列配列と、getEditVals()で得られる値の文字列配列 を、順次、action メソッドに渡していきます。 キーの文字列配列の作成時の編集名は、このオブジェクトの編集名を使用します。
      パラメータ:
        `guikey` - 画面ID
        `action` - 各要素に対して実行される関数型インタフェース( editKey、editVal )
      変更履歴:
        6.4.5.0 (2016/04/08) UserInfo のEditConfig関連機能を、DBEditConfigManagerに移植します。新規追加