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

## 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"          マスタテーブルの選択行のデータのみを対象に処理を行うかどうか
                   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` | `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` | `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, addEventColumnSQL, 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, getScope, getSessionAttribute, getTagName, getUser, getUserInfo, isAjaxSubmitSession, isDebug, isNoTransitionSession, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitSession, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setMsglbl, setNoTransitionSession, setObject, setParameterRows, setRequestAttribute, setRequestCacheData, setSessionAttribute, setUserInfo, setUseValue, startQueryTransaction, sys, sysBool, sysInt, useQuotCheck, 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チェック追加

### release2

    protected void release2()

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

  オーバーライド:
    クラス `CommonTagSupport` 内の `release2`

### setCommand

    public void setCommand(java.lang.String cmd)

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

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

    コマンドは,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)
  TagLib:

    指定できるアクションは、全体集合(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
  TagLib:

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

### setScope

    public void setScope(java.lang.String scope)

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

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

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

### setMasterTableId

    public void setMasterTableId(java.lang.String masterTableId)

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

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

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

### setMasterScope

    public void setMasterScope(java.lang.String masterScope)

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

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

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

### setMasterKeys

    public void setMasterKeys(java.lang.String masterKeys)

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

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

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

### setSlaveKeys

    public void setSlaveKeys(java.lang.String slaveKeys)

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

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

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

### setDiffKeys

    public void setDiffKeys(java.lang.String diffKeys)

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

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

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

### setSlaveTableId

    public void setSlaveTableId(java.lang.String slaveTableId)

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

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

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

### setSlaveScope

    public void setSlaveScope(java.lang.String slaveScope)

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

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

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

### setUnionClms

    public void setUnionClms(java.lang.String unionClms)

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

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

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

### setModifyClms

    public void setModifyClms(java.lang.String modifyClms)

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

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

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

### setNoSideEffect

    public void setNoSideEffect(java.lang.String noSideEffect)

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

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

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

### setUseDiffData

    public void setUseDiffData(java.lang.String flag)

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

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

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

### setUseCheckOnly

    public void setUseCheckOnly(java.lang.String flag)

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

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

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

### setDisplay

    public void setDisplay(java.lang.String flag)

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

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

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

### toString

    public java.lang.String toString()

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

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

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

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