パッケージ 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) 新規追加
導入されたバージョン:
  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)`
  コンストラクタ 各種パラメーターを指定して編集設定オブジェクトを構築します。

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `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に移植します。新規追加