概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
openGion 5.4.4.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## org.opengion.hayabusa.taglib
クラス TableMergeTag

    java.lang.Object
      javax.servlet.jsp.tagext.TagSupport
          javax.servlet.jsp.tagext.BodyTagSupport
              org.opengion.hayabusa.taglib.CommonTagSupport
                  org.opengion.hayabusa.taglib.TableMergeTag

すべての実装されたインタフェース:
  java.io.Serializable, javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag, javax.servlet.jsp.tagext.TryCatchFinally

    public class TableMergeTag

extends CommonTagSupport

２つの DBTableModel の 集合処理を行うタグです。 マスタとスレーブのそれぞれの DBTableModel を取得し、マージ、差分、排他などの データ処理を行います。結果を、指定の tableId と scope に書き出します。 マスタテーブルは、masterTableId と masterScope より取り出します。スレーブテーブルは、 slaveTableId と slaveScope より取り出します。 取り出された DBTableModel は、マスタテーブルに対して、スレーブテーブル情報を参照する形で行われ、 結果はマスタテーブルに上書きされる形で行われます。 指定できるアクションは、全体集合(UNION_ALL)、和集合(UNION)、積集合(INTERSECT)、 差集合(MINUS)、差分集合(DIFFERENCE)、列合成(UNION_CLM)、 列追加(ADD_CLM)、 グループ(GROUP)です。 列合成と列追加、グループ以外の処理では、カラム順とカラム数は同数でなければなりません。 primaryKeys や unionClms などの指定のキー名は、マスタテーブルに存在する必要があります。 マスタテーブルと同じカラム番号でスレーブテーブルよりデータを読み出します。 (カラム名や属性は、異なってもかまいませんが、マスタテーブルに準拠します。) また、単独(マスタテーブルのみ)で、和集合と同等の、グループ(GROUP)を使用すると、指定の カラムでのユニーク化を行うことが可能になります。グループ処理では、先行優先とし、 ２回目に現れた情報を削除することになります。グループ が指定された場合は、 スレーブテーブルは無視されます。いずれの処理においても、集合処理を行う主キーで 一旦グループ化されます。全体集合(UNION_ALL)で処理する場合でも、主キーがユニークで ない場合は、マスター、スレーブの各テーブルで一旦グループ化された後で、マージされます。 (マージ後には、同一主キーを持つ行は存在します。) 全体集合(UNION_ALL)の場合のみ、mergeKeys を指定する必要はありません。その場合は、 キーなしのため、マスターとスレーブのテーブルを単に合成するだけになります。 処理前後でのDBTableModelの件数は、以下の変数で取得することが可能です。 処理前のマスターテーブル : {@DB.MASTER_COUNT} 処理前のスレーブテーブル : {@DB.SLAVE_COUNT} 処理後 : {@DB.COUNT}

関連項目:
  直列化された形式
形式サンプル:

       ●形式：
             ・<og:tableMerge
                   action        = "UNION_ALL|UNION|INTERSECT|MINUS|DIFFERENCE|UNION_CLM|ADD_CLM|GROUP|UNION_SELROW"
                   tableId       = "DEFAULT"        出力テーブルの tableId
                   scope         = "session"        出力テーブルの scope
                   masterTableId = "DEFAULT"        マスタテーブルの tableId
                   masterScope   = "session"        マスタテーブルの scope
                   slaveTableId  = "DEFAULT"        スレーブテーブルの tableId
                   slaveScope    = "request"        スレーブテーブルの scope
                   masterKeys    = "AA,BB,CC"       マスタテーブルの集合処理を行う主キー
                   slaveKeys     = "AA,BB,CC"       スレーブテーブルの集合処理を行う主キー(null時=masterKeys)
                   diffKeys      = "DD,EE"          マスタテーブルのDIFFERENCE時の差分カラム名
                   unionClms     = "DD,EE"          UNION_CLM,ADD_CLM時にスレーブからマスタへ追加するカラム名
                   modifyClms    = "FF,GG"          DIFFERENCE時にスレーブからマスタへ値を更新するカラム名
                   noSideEffect  = "false"          テーブルモデルに対する副作用(true:ない/false:ある)
                   useDiffData   = "true"           DIFFERENCE時に差分のスレーブデータを追加するかどうか
                   useCheckOnly  = "false"          マスタテーブルの選択行のデータのみを対象に処理を行うかどうか
                   groupAddClms  = "FF,GG"          masterKeysで集合処理するときに、相違データをCSV連結して残すカラム名
                   display       = "true"           処理概要を表示するかどうか
               />
       ●body：なし

       ●使用例
           例１）デフォルト以外に必要な属性のみ指定するサンプル
           <og:tableMerge action="UNION"
                 slaveScope = "request" masterKeys = "AA,BB,CC"
           />

               ・出力先、マスターともに初期値は、tableId="DEFAULT" scope="session" です。
                 スレーブは、tableId か scope をける必要がある為、scope="request" を指定しています。
                 比較するカラム名は、マスタ、スレーブ同じであれば、マスタのみ指定でかまいません。

           例２）マスタ、スレーブともメモリに残らないように request で作成します。
           <og:tableMerge action="INTERSECT"
                 masterScope  = "request"
                 slaveScope   = "request"
                 slaveTableId = "SLAVE"
                 masterKeys   = "AA,BB,CC"
           />

               ・マスタ、スレーブともメモリに残らないように request で作成した場合は、
                 どちらかの TableId を変える必要があります。
                 出力先は初期値の、tableId="DEFAULT" scope="session" です。

変更履歴:

  3.8.0.9 (2005/10/17) 新規追加

機能階層
  ＤＢ登録
バージョン
  0.9.0 2000/10/17
作成者
  Kazuhiko Hasegawa
導入されたバージョン:
  JDK5.0,

フィールドの概要
`static java.lang.String` | `ACT_ADD_CLM` action 引数に渡す事の出来る アクションコマンド 列合成"ADD_CLM"
`static java.lang.String` | `ACT_DIFFERENCE` action 引数に渡す事の出来る アクションコマンド 差分集合"DIFFERENCE"
`static java.lang.String` | `ACT_GROUP` action 引数に渡す事の出来る アクションコマンド グループ "GROUP"
`static java.lang.String` | `ACT_INTERSECT` action 引数に渡す事の出来る アクションコマンド 積集合 "INTERSECT"
`static java.lang.String` | `ACT_MINUS` action 引数に渡す事の出来る アクションコマンド 差集合"MINUS"
`static java.lang.String` | `ACT_UNION` action 引数に渡す事の出来る アクションコマンド 和集合 "UNION"
`static java.lang.String` | `ACT_UNION_ALL` action 引数に渡す事の出来る アクションコマンド 全体集合 "UNION_ALL"
`static java.lang.String` | `ACT_UNION_CLM` action 引数に渡す事の出来る アクションコマンド 列合成"UNION_CLM"
`static java.lang.String` | `ACT_UNION_SELROW` action 引数に渡す事の出来る アクションコマンド グループ "UNION_SELROW"
`static java.lang.String` | `CMD_NEW` command 引数に渡す事の出来る コマンド 新規 "NEW"
`static java.lang.String` | `CMD_RENEW` command 引数に渡す事の出来る コマンド 再検索 "RENEW"

クラス javax.servlet.jsp.tagext.BodyTagSupport から継承されたフィールド
`bodyContent`

クラス javax.servlet.jsp.tagext.TagSupport から継承されたフィールド
`id, pageContext`

インタフェース javax.servlet.jsp.tagext.BodyTag から継承されたフィールド
`EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

インタフェース javax.servlet.jsp.tagext.IterationTag から継承されたフィールド
`EVAL_BODY_AGAIN`

インタフェース javax.servlet.jsp.tagext.Tag から継承されたフィールド
`EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

コンストラクタの概要
`TableMergeTag()`

メソッドの概要
`int` | `doEndTag()` Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
`protected void` | `release2()` タグリブオブジェクトをリリースします。
`void` | `setAction(java.lang.String action)` 【TAG】アクションを指定します(UNION_ALL|UNION|INTERSECT|MINUS|DIFFERENCE|UNION_CLM|ADD_CLM|GROUP|UNION_SELROW)。
`void` | `setCommand(java.lang.String cmd)` 【TAG】コマンド(NEW,RENEW)をセットします（初期値:NEW）。
`void` | `setDiffKeys(java.lang.String diffKeys)` 【TAG】マスタテーブルのDIFFERENCE時の差分カラム名を(CSV形式)指定します。
`void` | `setDisplay(java.lang.String flag)` 【TAG】マージの結果を表示するかどうかを指定します(初期値:true)。
`void` | `setGroupAddClms(java.lang.String groupAddClms)` 【TAG】集合処理するときに、相違データをCSV連結して残すカラム名をCSV形式で指定します。
`void` | `setMainTrans(java.lang.String flag)` 【TAG】(通常使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します。
`void` | `setMasterKeys(java.lang.String masterKeys)` 【TAG】マスタテーブルの集合処理を行う主キーを指定します。
`void` | `setMasterScope(java.lang.String masterScope)` 【TAG】マスタテーブルのscopeを指定します(初期値:session)。
`void` | `setMasterTableId(java.lang.String masterTableId)` 【TAG】マスタテーブルのtableIdを指定します(初期値:HybsSystem.TBL_MDL_KEY)。
`void` | `setModifyClms(java.lang.String modifyClms)` 【TAG】スレーブからマスタへ値を更新するカラム名をCSV形式で指定します。
`void` | `setNoSideEffect(java.lang.String noSideEffect)` 【TAG】テーブルモデルに対する副作用(true:ない/false:ある)を指定します(初期値:false:ある)。
`void` | `setScope(java.lang.String scope)` 【TAG】出力先のscopeを指定します(初期値:session)。
`void` | `setSeparator(java.lang.String sepa)` 【TAG】groupAddClmsで文字列を連結する項目区切り文字をセットします(初期値：",")。
`void` | `setSlaveKeys(java.lang.String slaveKeys)` 【TAG】スレーブテーブルの集合処理を行う主キーを指定します。
`void` | `setSlaveScope(java.lang.String slaveScope)` 【TAG】スレーブテーブルのscopeを指定します(初期値:session)。
`void` | `setSlaveTableId(java.lang.String slaveTableId)` 【TAG】スレーブテーブルのtableIdを指定します(初期値:HybsSystem.TBL_MDL_KEY)。
`void` | `setTableId(java.lang.String tableId)` 【TAG】出力先のtableIdを指定します(初期値:HybsSystem.TBL_MDL_KEY)。
`void` | `setUnionClms(java.lang.String unionClms)` 【TAG】スレーブからマスタへ追加するカラム名をCSV形式で指定します。
`void` | `setUseCheckOnly(java.lang.String flag)` 【TAG】マスタテーブルの選択行のデータのみを対象に処理を行うかどうかを指定します(初期値:false)。
`void` | `setUseDiffData(java.lang.String flag)` 【TAG】差分のスレーブデータを結果テーブルに追加するかどうかを指定します(初期値:true)。
`java.lang.String` | `toString()` このオブジェクトの文字列表現を返します。

クラス org.opengion.hayabusa.taglib.CommonTagSupport から継承されたメソッド
`add, add, addEventColumn, addEventColumn, check, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsglbl, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getUser, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseKey, setCaseVal, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setNoTransitionRequest, setObject, setObject, setParameterNames, setParameterRows, setRequestAttribute, setRequestCacheData, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useTag, useXssCheck`

クラス javax.servlet.jsp.tagext.BodyTagSupport から継承されたメソッド
`doInitBody, getBodyContent, getPreviousOut, release, setBodyContent`

クラス javax.servlet.jsp.tagext.TagSupport から継承されたメソッド
`findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue`

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

インタフェース javax.servlet.jsp.tagext.Tag から継承されたメソッド
`getParent, setPageContext, setParent`

フィールドの詳細

### ACT_UNION_ALL

    public static final java.lang.String ACT_UNION_ALL

  action 引数に渡す事の出来る アクションコマンド 全体集合 "UNION_ALL"

  関連項目:
    定数フィールド値

### ACT_UNION

    public static final java.lang.String ACT_UNION

  action 引数に渡す事の出来る アクションコマンド 和集合 "UNION"

  関連項目:
    定数フィールド値

### ACT_INTERSECT

    public static final java.lang.String ACT_INTERSECT

  action 引数に渡す事の出来る アクションコマンド 積集合 "INTERSECT"

  関連項目:
    定数フィールド値

### ACT_MINUS

    public static final java.lang.String ACT_MINUS

  action 引数に渡す事の出来る アクションコマンド 差集合"MINUS"

  関連項目:
    定数フィールド値

### ACT_DIFFERENCE

    public static final java.lang.String ACT_DIFFERENCE

  action 引数に渡す事の出来る アクションコマンド 差分集合"DIFFERENCE"

  関連項目:
    定数フィールド値

### ACT_UNION_CLM

    public static final java.lang.String ACT_UNION_CLM

  action 引数に渡す事の出来る アクションコマンド 列合成"UNION_CLM"

  関連項目:
    定数フィールド値

### ACT_ADD_CLM

    public static final java.lang.String ACT_ADD_CLM

  action 引数に渡す事の出来る アクションコマンド 列合成"ADD_CLM"

  関連項目:
    定数フィールド値

### ACT_GROUP

    public static final java.lang.String ACT_GROUP

  action 引数に渡す事の出来る アクションコマンド グループ "GROUP"

  関連項目:
    定数フィールド値

### ACT_UNION_SELROW

    public static final java.lang.String ACT_UNION_SELROW

  action 引数に渡す事の出来る アクションコマンド グループ "UNION_SELROW"

  関連項目:
    定数フィールド値

### CMD_NEW

    public static final java.lang.String CMD_NEW

  command 引数に渡す事の出来る コマンド 新規 "NEW"

  関連項目:
    定数フィールド値

### CMD_RENEW

    public static final java.lang.String CMD_RENEW

  command 引数に渡す事の出来る コマンド 再検索 "RENEW"

  関連項目:
    定数フィールド値

コンストラクタの詳細

### TableMergeTag

    public TableMergeTag()

メソッドの詳細

### doEndTag

    public int doEndTag()

  Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。

  定義:
    インタフェース `javax.servlet.jsp.tagext.Tag` 内の `doEndTag`
  オーバーライド:
    クラス `CommonTagSupport` 内の `doEndTag`
  戻り値:
    int 後続処理の指示
  変更履歴:

    4.3.2.0 (2008/09/11) UNION_SELROWアクション対応
    4.3.3.0 (2008/10/01) 処理前後のテーブル件数を取得できるようにする
    4.3.3.1 (2008/10/08) スレーブのnullチェック追加
    5.1.6.0 (2010/05/01) DBLastSqlの処理は、DBTableModelが新規作成された処理でのみ行う。
    5.2.2.0 (2010/11/01) caseKey 、caseVal 属性対応

### release2

    protected void release2()

  タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。

  オーバーライド:
    クラス `CommonTagSupport` 内の `release2`
  変更履歴:

    5.1.4.0 (2010/03/01) groupAddClms 追加
    5.1.6.0 (2010/05/01) DBLastSqlの処理は、DBTableModelが新規作成された処理でのみ行う。
    5.3.1.0 (2011/01/01) separator追加

### setCommand

    public void setCommand(java.lang.String cmd)

  【TAG】コマンド(NEW,RENEW)をセットします（初期値:NEW）。

  パラメータ:
    `cmd` - コマンド（public static final 宣言されている文字列)
  関連項目:
    コマンド定数
  説明:

         コマンドは,HTMLから（get/post)指定されますので,CMD_xxx で設定される
         フィールド定数値のいづれかを、指定できます。
         初期値は NEW です。

### setAction

    public void setAction(java.lang.String action)

  【TAG】アクションを指定します(UNION_ALL|UNION|INTERSECT|MINUS|DIFFERENCE|UNION_CLM|ADD_CLM|GROUP|UNION_SELROW)。

  パラメータ:
    `action` - アクション(UNION_ALL|UNION|INTERSECT|MINUS|DIFFERENCE|UNION_CLM|ADD_CLM|GROUP|UNION_SELROW)
  説明:

         指定できるアクションは、全体集合(UNION_ALL)、全体集合(挿入位置指定)(UNION_SELROW)、和集合(UNION)
         、積集合(INTERSECT)、差集合(MINUS)、差分集合(DIFFERENCE)、列合成(UNION_CLM)、列追加(ADD_CLM)、 グループ(GROUP)です。
         列合成とグループ以外の処理では、カラム順とカラム数は同数でなければなりません。
         primaryKeys や unionClms などの指定のキー名は、マスタテーブルに存在する必要があります。
         マスタテーブルと同じカラム番号でスレーブテーブルよりデータを読み出します。
         (カラム名や属性は、異なってもかまいませんが、マスタテーブルに準拠します。)
         また、単独(マスタテーブルのみ)で、和集合と同等の、グループ(GROUP)を使用すると、指定の
         カラムでのユニーク化を行うことが可能になります。グループ処理では、先行優先とし、
         ２回目に現れた情報を削除することになります。グループ が指定された場合は、
         スレーブテーブルは無視されます。いずれの処理においても、集合処理を行う主キーで
         一旦グループ化されます。全体集合(UNION_ALL)で処理する場合でも、主キーがユニークで
         ない場合は、マスター、スレーブの各テーブルで一旦グループ化された後で、マージされます。
         (マージ後には、同一主キーを持つ行は存在します。)
         全体集合(UNION_ALL)の場合のみ、mergeKeys を指定する必要はありません。その場合は、
         キーなしのため、マスターとスレーブのテーブルを単に合成するだけになります。

         action      名称    処理概要												１２３４
         UNION_ALL   全体集合マスタとスレーブを合成
         UNION_SELROW全体集合マスタとスレーブを合成(マスタ表のチェック行を起点に追加○
         UNION       和集合  マスタとスレーブのユニーク部のみ合成					○○
         INTERSECT   積集合  マスタとスレーブのユニーク部が一致するマスタのみ選択	○○
         MINUS       差集合  マスタからスレーブに存在するユニーク部を削除した残り	○○
         DIFFERENCE  差分集合ユニーク部が一致し、差分カラムが異なるマスタのみ選択	○○　○
         UNION_CLM   列合成  マスタとキー一致するスレーブのカラム情報を追加		○○○
         ADD_CLM     列追加  UNION_CLMとの違いは、カラムのみ追加することです。	　　○
         GROUP       グループマスタのユニーク部化

         ※：マスタテーブルオブジェクトは、常に必須
         １：スレーブテーブルオブジェクト必須
         ２：masterKeys 属性必須
         ３：unionClms 属性必須(スレーブテーブルのカラム名または追加するカラム名)
         ４：diffKeys 属性必須(DIFFERENCE時の差分カラム名)、modifyClms 属性使用可能

### setTableId

    public void setTableId(java.lang.String tableId)

  【TAG】出力先のtableIdを指定します(初期値:HybsSystem.TBL_MDL_KEY)。

  パラメータ:
    `tableId` - 出力先のtableId
  説明:

         集合処理結果の DBTableModel をメモリにセットする場合のキー(tableId)を指定します。
         初期値は、HybsSystem.TBL_MDL_KEY です。

### setScope

    public void setScope(java.lang.String scope)

  【TAG】出力先のscopeを指定します(初期値:session)。

  オーバーライド:
    クラス `CommonTagSupport` 内の `setScope`
  パラメータ:
    `scope` - 出力先のscope
  説明:

         集合処理結果の DBTableModel をメモリにセットする場合のスコープを指定します。
         ここでは、マスタやスレーブのスコープ設定が必要な為、superクラスのメソッドを
         オーバーライドしてこのオブジェクト内でキープしています。
         初期値は、session です。

### setMasterTableId

    public void setMasterTableId(java.lang.String masterTableId)

  【TAG】マスタテーブルのtableIdを指定します(初期値:HybsSystem.TBL_MDL_KEY)。

  パラメータ:
    `masterTableId` - マスタテーブルのtableId
  説明:

         集合処理のマスタとなる DBTableModel をメモリから取り出す場合のキー(tableId)を指定します。
         初期値は、HybsSystem.TBL_MDL_KEY です。

### setMasterScope

    public void setMasterScope(java.lang.String masterScope)

  【TAG】マスタテーブルのscopeを指定します(初期値:session)。

  パラメータ:
    `masterScope` - マスタテーブルのscope
  説明:

         集合処理のマスタとなる DBTableModel をメモリから取り出す場合のスコープを指定します。
         初期値は、session です。

### setMasterKeys

    public void setMasterKeys(java.lang.String masterKeys)

  【TAG】マスタテーブルの集合処理を行う主キーを指定します。

  パラメータ:
    `masterKeys` - マスタテーブルの主キーをCSV形式で指定
  説明:

         集合処理を行う場合の、カラム名を、カンマ区切り文字(CSV形式)で指定します。
         このキーの組み合わせを元に、集合処理の突合せを行います。
         なお、アクションがグループ(GROUP)以外の処理では、マスタとスレーブのカラム数と
         並び順は、同じでなければなりません。カラム名は、各々別々でもかまいません。
         アクションが全体集合(UNION_ALL)以外の場合は、必須属性になります。

### setSlaveKeys

    public void setSlaveKeys(java.lang.String slaveKeys)

  【TAG】スレーブテーブルの集合処理を行う主キーを指定します。

  パラメータ:
    `slaveKeys` - スレーブテーブルの主キーをCSV形式で指定
  説明:

         集合処理を行う場合の、カラム名を、カンマ区切り文字(CSV形式)で指定します。
         このキーの組み合わせを元に、集合処理の突合せを行います。
         なお、アクションがグループ(GROUP)以外の処理では、マスタとスレーブのカラム数と
         並び順は、同じでなければなりません。カラム名は、各々別々でもかまいません。
         null の場合は、masterKeys と同じとします。

### setDiffKeys

    public void setDiffKeys(java.lang.String diffKeys)

  【TAG】マスタテーブルのDIFFERENCE時の差分カラム名を(CSV形式)指定します。

  パラメータ:
    `diffKeys` - マスタテーブルの差分カラム名をCSV形式で指定
  関連項目:
    `setMasterKeys( String )`
  説明:

         アクションが差分処理(DIFFERENCE)の場合に、差分チェックを行うカラム名を、
         カンマ区切り文字(CSV形式)で指定します。
         差分処理とは、masterKeys で指定されたキーでは、マスタ、スレーブともに存在し
         かつ、このキー(diffKeys)で指定されたキーの値が異なるマスタレコードを
         抜き出します。
         つまり、主キーは存在し、属性が異なる情報のピックアップになりますので、
         データ更新(UPDATE)対象を見つける場合に使用できます。
         アクションが差分処理(DIFFERENCE)の場合は、必須属性になります。

### setSlaveTableId

    public void setSlaveTableId(java.lang.String slaveTableId)

  【TAG】スレーブテーブルのtableIdを指定します(初期値:HybsSystem.TBL_MDL_KEY)。

  パラメータ:
    `slaveTableId` - スレーブテーブルのtableId
  説明:

         集合処理のスレーブとなる DBTableModel をメモリから取り出す場合のキー(tableId)を指定します。
         なお、アクションがグループ(GROUP)の場合は、スレーブテーブルは使用されません。
         初期値は、HybsSystem.TBL_MDL_KEY です。

### setSlaveScope

    public void setSlaveScope(java.lang.String slaveScope)

  【TAG】スレーブテーブルのscopeを指定します(初期値:session)。

  パラメータ:
    `slaveScope` - スレーブテーブルのscope
  説明:

         集合処理のスレーブとなる DBTableModel をメモリから取り出す場合のスコープを指定します。
         なお、アクションがグループ(GROUP)の場合は、スレーブテーブルは使用されません。
         初期値は、session です。

### setUnionClms

    public void setUnionClms(java.lang.String unionClms)

  【TAG】スレーブからマスタへ追加するカラム名をCSV形式で指定します。

  パラメータ:
    `unionClms` - 列合成するカラム名をCSV形式で指定
  説明:

         アクションが列合成(UNION_CLM)または列追加(ADD_CLM)の場合に使用されます。
         列合成(UNION_CLM)は、マスタとスレーブの主キーに対して、ここで指定のスレーブの
         カラム列名を、マスタの列に追加します。主キーがマッチしない行に関しては、
         カラムの初期値が適用されたデータを作成します。
         列追加(ADD_CLM)は、マスタテーブルに指定のカラムを追加するだけです、スレーブテーブルは
         参照しません。よって、主キーも指定不要です。

### setModifyClms

    public void setModifyClms(java.lang.String modifyClms)

  【TAG】スレーブからマスタへ値を更新するカラム名をCSV形式で指定します。

  パラメータ:
    `modifyClms` - 値を更新するカラム名をCSV形式で指定
  説明:

         アクションが差分処理(DIFFERENCE)の場合に、結果にマスタテーブルが抜き出されますが、
         更新する場合に、スレーブ特有のユニークキー(例：UNIQ)を用いて更新する場合、
         指定のカラム値は、スレーブの値にセットしておきたい場合があります。
         ここでは、指定のカラムについて、値だけスレーブからマスタへセットします。
         なお、値の更新については、マスタとスレーブが同一キーという制約があります。

### setGroupAddClms

    public void setGroupAddClms(java.lang.String groupAddClms)

  【TAG】集合処理するときに、相違データをCSV連結して残すカラム名をCSV形式で指定します。

  パラメータ:
    `groupAddClms` - 相違データをCSV連結して残すカラム名をCSV形式で指定
  説明:

         masterKeysで集合処理するときに、通常、最初に見つかった行データのみ残りますが、
         ここに指定したカラムについては、発生都度、自分自身の情報に、CSV形式で連結して
         いきます。
         この操作により、本来削除された情報が、１行のCSV形式で取得できる効果が得られます。
         これは、value タグの action="APPEND" を、DBTableModel に対して実施するような感じです。

  変更履歴:

    5.1.4.0 (2010/03/01) 新規追加

### setNoSideEffect

    public void setNoSideEffect(java.lang.String noSideEffect)

  【TAG】テーブルモデルに対する副作用(true:ない/false:ある)を指定します(初期値:false:ある)。

  パラメータ:
    `noSideEffect` - テーブルモデルに対する副作用(true:ない/false:ある)
  説明:

         すべての処理で、DBTableModel に対して、ユニーク化やグループ化などの集合処理を
         行う過程で、マスタテーブルに対して直接処理を行うと、副作用が発生します。
         同様に、スレーブテーブルにおいても、一旦キー列でグループ化されるため、副作用が
         発生します。これは、無駄なメモリ領域の確保と、テーブル(マスタ、スレーブとも)の
         コピー処理時間の節約になります。初期値の設定も副作用がある状態になっています。
         ところが、都合によっては、色々な action を連続して行いたい場合など、毎回、
         データベースを検索するよりもメモリ上でコピーしたほうが都合がよいケースでは、
         副作用が出ないように、noSideEffect="true" に設定します。
         ただし、マスタ、スレーブともテーブルをコピーを行い、結果のテーブルも派生する為、
         通常、２つの領域（マスタと結果は同じテーブルに書かれる）で良い所を、５つの領域が
         作成されます。
         初期値は、副作用がある(noSideEffect="false")です。

### setUseDiffData

    public void setUseDiffData(java.lang.String flag)

  【TAG】差分のスレーブデータを結果テーブルに追加するかどうかを指定します(初期値:true)。

  パラメータ:
    `flag` - String スレーブデータを結果テーブルに追加するかどうか(初期値:true)
  説明:

         アクションが差分処理(DIFFERENCE)の場合に、結果にマスタテーブルが抜き出されますが、
         差分対象のスレーブデータと比較したい場合があります。
         このフラグを true にセットすると、書込み禁止属性が付いた状態で、スレーブデータが
         結果テーブルに追加されます。
         なお、この処理では、通常と異なり、マスタテーブルにはグループ化の副作用は発生しますが、
         結果テーブルは新規に作成され、先頭行に必ず WRITABLE カラムが付加されます。
         初期値は、true：追加する です。

### setUseCheckOnly

    public void setUseCheckOnly(java.lang.String flag)

  【TAG】マスタテーブルの選択行のデータのみを対象に処理を行うかどうかを指定します(初期値:false)。

  パラメータ:
    `flag` - String マスタテーブルの選択行のデータのみを対象に処理を行うかどうか(初期値:false)
  説明:

         処理対象のマスタテーブルについて、選択行が指定された場合に、選択行のみを処理対象に
         するか、全件を対象にするかを指定します。
         積集合や差分集合など通常は、全件を対象にすることになりますが、列合成や列追加など、
         マスタテーブルに対してのみ作用を及ぼす処理では、選択行のみを対象に処理を行う事が
         考えられます。その場合、初期グループ化と同じで、対象とする行が選択行のみになります。
         初期値は、false：全件対象 です。

### setDisplay

    public void setDisplay(java.lang.String flag)

  【TAG】マージの結果を表示するかどうかを指定します(初期値:true)。

  パラメータ:
    `flag` - String 接続の結果を表示するかどうか(初期値:false)
  説明:

         true で、マージ結果を表示します。 false では、何も表示しません(初期値:true)
         マスタテーブルの件数は、通常、キーでグループ化されるため、入力件数と異なります。
         同様に、スレーブ件数も異なります。結果の件数は、処理結果が現実的かどうかの
         判断に使用されます。
         初期値は、true：表示する です。

### setMainTrans

    public void setMainTrans(java.lang.String flag)

  【TAG】(通常使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します。(初期値:false)

  パラメータ:
    `flag` - メイントランザクションかどうか
  説明:

         (通常使いません)タグで処理される処理が、メインとなるトランザクション処理かどうかを指定します。(初期値:false)
         この値は、ファイルダウンロード処理に影響します。この値がtrueに指定された時にcommitされたDBTableModelが
         ファイルダウンロードの対象の表になります。

         このパラメーターは、通常、各タグにより実装され、ユーザーが指定する必要はありません。
         但し、1つのJSP内でDBTableModelが複数生成される場合に、前に処理したDBTableModelについてファイルダウンロードをさせたい
         場合は、後ろでDBTableModelを生成するタグで、明示的にこの値をfalseに指定することで、ファイルダウンロード処理の対象から
         除外することができます。

  変更履歴:

    5.1.6.0 (2010/05/01) 新規作成

### setSeparator

    public void setSeparator(java.lang.String sepa)

  【TAG】groupAddClmsで文字列を連結する項目区切り文字をセットします(初期値：",")。

  パラメータ:
    `sepa` - 項目区切り文字(初期値：",")
  説明:

         groupAddClmsで文字列を連結する項目区切り文字をセットします(初期値：",")。
         初期値は、"," に設定されています。

  変更履歴:

    5.3.1.0 (2011/01/01)

### toString

    public java.lang.String toString()

  このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。

  オーバーライド:
    クラス `CommonTagSupport` 内の `toString`
  戻り値:
    このクラスの文字列表現

概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| openGion 5.4.4.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

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