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 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` | `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()

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

    - #### 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修正時の追加カラム対応

    - #### getSumClms

          public String getSumClms()

      集計カラムの一覧を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形式で返します。
      戻り値:
        グループカラムの一覧(カンマ区切)

    - #### useGroup

          public boolean useGroup()

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

    - #### isGroupClm

          public boolean isGroupClm(String clm)

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

    - #### getGroupClmCount

          public int getGroupClmCount()

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

    - #### getSubTotalClms

          public String getSubTotalClms()

      小計カラムの一覧を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形式で返します。
      戻り値:
        合計カラムの一覧(カンマ区切)

    - #### 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形式で返します。 カラムの並び順が表示順としての優先順になります。 また、降順で表示するカラムについては、カラム名の先頭に"!"が付加されます。
      戻り値:
        標準順カラムの一覧(カンマ区切)

    - #### 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 action)

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

        6.4.5.0 (2016/04/08) UserInfo のEditConfig関連機能を、DBEditConfigManagerに移植します。新規追加

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.