openGionopenGion
5.8.5.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
すべての実装されたインタフェース:
Serializable, BodyTag, IterationTag, JspTag, Tag, TryCatchFinally

public class TableMergeTag
extends CommonTagSupport

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

 ●Tag定義:
   <og:tableMerge
       command            【TAG】コマンド(NEW,RENEW)をセットします(初期値:NEW)
       action             【TAG】アクションを指定します(UNION_ALL|UNION|INTERSECT|MINUS|DIFFERENCE|UNION_CLM|ADD_CLM|GROUP|UNION_SELROW)
       tableId            【TAG】出力先のtableIdを指定します (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])
       scope              【TAG】出力先のscopeを指定します(初期値:session)
       masterTableId      【TAG】マスタテーブルのtableIdを指定します (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])
       masterScope        【TAG】マスタテーブルのscopeを指定します(初期値:session)
       slaveTableId       【TAG】スレーブテーブルのtableIdを指定します (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])
       slaveScope         【TAG】スレーブテーブルのscopeを指定します(初期値:session)
       masterKeys         【TAG】マスタテーブルの集合処理を行う主キーを指定します
       slaveKeys          【TAG】スレーブテーブルの集合処理を行う主キーを指定します
       diffKeys           【TAG】マスタテーブルのDIFFERENCE時の差分カラム名を(CSV形式)指定します
       unionClms          【TAG】スレーブからマスタへ追加するカラム名をCSV形式で指定します
       modifyClms         【TAG】スレーブからマスタへ値を更新するカラム名をCSV形式で指定します
       groupAddClms       【TAG】集合処理するときに、相違データをCSV連結して残すカラム名をCSV形式で指定します
       noSideEffect       【TAG】テーブルモデルに対する副作用の有無[true:ない/false:ある]を指定します(初期値:false:ある)
       useDiffData        【TAG】差分のスレーブデータを結果テーブルに追加するかどうかを指定します(初期値:true)
       useCheckOnly       【TAG】マスタテーブルの選択行のデータのみを対象に処理を行うかどうかを指定します(初期値:false)
       stopZero           【TAG】検索結果が0件のとき処理を続行するかどうか[true/false]を指定します(初期値:false[続行する])
       display            【TAG】マージの結果を表示するかどうかを指定します(初期値:true)
       mainTrans          【TAG】(通常使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:false)
       caseKey            【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null)
       caseVal            【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null)
       caseNN             【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:true)
       caseNull           【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:true)
       separator          【TAG】groupAddClmsで文字列を連結する項目区切り文字をセットします(初期値:",")
       debug              【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false)
   />

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

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

     例2)マスタ、スレーブともメモリに残らないように 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) 新規追加
機能分類
DB登録
バージョン
0.9.0 2000/10/17
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

フィールドの概要
static String ACT_ADD_CLM
          action 引数に渡す事の出来る アクションコマンド 列合成"ADD_CLM"
static String ACT_DIFFERENCE
          action 引数に渡す事の出来る アクションコマンド 差分集合"DIFFERENCE"
static String ACT_GROUP
          action 引数に渡す事の出来る アクションコマンド グループ "GROUP"
static String ACT_INTERSECT
          action 引数に渡す事の出来る アクションコマンド 積集合 "INTERSECT"
static String ACT_MINUS
          action 引数に渡す事の出来る アクションコマンド 差集合"MINUS"
static String ACT_UNION
          action 引数に渡す事の出来る アクションコマンド 和集合 "UNION"
static String ACT_UNION_ALL
          action 引数に渡す事の出来る アクションコマンド 全体集合 "UNION_ALL"
static String ACT_UNION_CLM
          action 引数に渡す事の出来る アクションコマンド 列合成"UNION_CLM"
static String ACT_UNION_SELROW
          action 引数に渡す事の出来る アクションコマンド グループ "UNION_SELROW"
static String CMD_NEW
          command 引数に渡す事の出来る コマンド 新規 "NEW"
static 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(String action)
          【TAG】アクションを指定します(UNION_ALL|UNION|INTERSECT|MINUS|DIFFERENCE|UNION_CLM|ADD_CLM|GROUP|UNION_SELROW)。
 void setCommand(String cmd)
          【TAG】コマンド(NEW,RENEW)をセットします(初期値:NEW)。
 void setDiffKeys(String diffKeys)
          【TAG】マスタテーブルのDIFFERENCE時の差分カラム名を(CSV形式)指定します。
 void setDisplay(String flag)
          【TAG】マージの結果を表示するかどうかを指定します(初期値:true)。
 void setGroupAddClms(String groupAddClms)
          【TAG】集合処理するときに、相違データをCSV連結して残すカラム名をCSV形式で指定します。
 void setMainTrans(String flag)
          【TAG】(通常使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:false)。
 void setMasterKeys(String masterKeys)
          【TAG】マスタテーブルの集合処理を行う主キーを指定します。
 void setMasterScope(String masterScope)
          【TAG】マスタテーブルのscopeを指定します(初期値:session)。
 void setMasterTableId(String masterTableId)
          【TAG】マスタテーブルのtableIdを指定します (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
 void setModifyClms(String modifyClms)
          【TAG】スレーブからマスタへ値を更新するカラム名をCSV形式で指定します。
 void setNoSideEffect(String noSideEffect)
          【TAG】テーブルモデルに対する副作用の有無[true:ない/false:ある]を指定します(初期値:false:ある)。
 void setScope(String scope)
          【TAG】出力先のscopeを指定します(初期値:session)。
 void setSeparator(String sepa)
          【TAG】groupAddClmsで文字列を連結する項目区切り文字をセットします(初期値:",")。
 void setSlaveKeys(String slaveKeys)
          【TAG】スレーブテーブルの集合処理を行う主キーを指定します。
 void setSlaveScope(String slaveScope)
          【TAG】スレーブテーブルのscopeを指定します(初期値:session)。
 void setSlaveTableId(String slaveTableId)
          【TAG】スレーブテーブルのtableIdを指定します (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
 void setStopZero(String cmd)
          【TAG】検索結果が0件のとき処理を続行するかどうか[true/false]を指定します(初期値:false[続行する])。
 void setTableId(String tableId)
          【TAG】出力先のtableIdを指定します (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
 void setUnionClms(String unionClms)
          【TAG】スレーブからマスタへ追加するカラム名をCSV形式で指定します。
 void setUseCheckOnly(String flag)
          【TAG】マスタテーブルの選択行のデータのみを対象に処理を行うかどうかを指定します(初期値:false)。
 void setUseDiffData(String flag)
          【TAG】差分のスレーブデータを結果テーブルに追加するかどうかを指定します(初期値:true)。
 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, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseKey, setCaseNN, setCaseNull, 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 String ACT_UNION_ALL
action 引数に渡す事の出来る アクションコマンド 全体集合 "UNION_ALL"

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

ACT_UNION

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

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

ACT_INTERSECT

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

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

ACT_MINUS

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

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

ACT_DIFFERENCE

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

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

ACT_UNION_CLM

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

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

ACT_ADD_CLM

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

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

ACT_GROUP

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

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

ACT_UNION_SELROW

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

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

CMD_NEW

public static final String CMD_NEW
command 引数に渡す事の出来る コマンド 新規 "NEW"

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

CMD_RENEW

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

関連項目:
定数フィールド値
コンストラクタの詳細

TableMergeTag

public TableMergeTag()
メソッドの詳細

doEndTag

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

定義:
インタフェース Tag 内の doEndTag
オーバーライド:
クラス CommonTagSupport 内の doEndTag
戻り値:
後続処理の指示
変更履歴:
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 属性対応
5.7.6.2 (2014/05/16) stopZero属性、DB.COUNT キーで検索件数をリクエストにセットする。

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追加
5.7.6.2 (2014/05/16) stopZero属性追加

setCommand

public void setCommand(String cmd)
【TAG】コマンド(NEW,RENEW)をセットします(初期値:NEW)。

パラメータ:
cmd - コマンド(public static final 宣言されている文字列)
関連項目:
コマンド定数
説明:
 コマンドは,HTMLから(get/post)指定されますので,CMD_xxx で設定される
 フィールド定数値のいづれかを、指定できます。
 初期値は NEW です。

setAction

public void setAction(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)を使用すると、指定の
 カラムでのユニーク化を行うことが可能になります。グループ処理では、先行優先とし、
 2回目に現れた情報を削除することになります。グループ が指定された場合は、
 スレーブテーブルは無視されます。いずれの処理においても、集合処理を行う主キーで
 一旦グループ化されます。全体集合(UNION_ALL)で処理する場合でも、主キーがユニークで
 ない場合は、マスター、スレーブの各テーブルで一旦グループ化された後で、マージされます。
 (マージ後には、同一主キーを持つ行は存在します。)
 全体集合(UNION_ALL)の場合のみ、mergeKeys を指定する必要はありません。その場合は、
 キーなしのため、マスターとスレーブのテーブルを単に合成するだけになります。

 
アクションの説明
action 名称 処理概要
UNION_ALL 全体集合マスタとスレーブを合成
UNION_SELROW全体集合マスタとスレーブを合成(マスタ表のチェック行を起点に追加   
UNION 和集合 マスタとスレーブのユニーク部のみ合成   
INTERSECT 積集合 マスタとスレーブのユニーク部が一致するマスタのみ選択   
MINUS 差集合 マスタからスレーブに存在するユニーク部を削除した残り   
DIFFERENCE 差分集合ユニーク部が一致し、差分カラムが異なるマスタのみ選択  
UNION_CLM 列合成 マスタとキー一致するスレーブのカラム情報を追加  
ADD_CLM 列追加 UNION_CLMとの違いは、カラムのみ追加することです。    
GROUP グループマスタのユニーク部化     
※:マスタテーブルオブジェクトは、常に必須 1:スレーブテーブルオブジェクト必須 2:masterKeys 属性必須 3:unionClms 属性必須(スレーブテーブルのカラム名または追加するカラム名) 4:diffKeys 属性必須(DIFFERENCE時の差分カラム名)、modifyClms 属性使用可能

setTableId

public void setTableId(String tableId)
【TAG】出力先のtableIdを指定します (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。

パラメータ:
tableId - 出力先のtableId
関連項目:
HybsSystem.TBL_MDL_KEY
説明:
 集合処理結果の DBTableModel をメモリにセットする場合のキー(tableId)を指定します。
 (初期値:HybsSystem#TBL_MDL_KEY[={@og.value HybsSystem#TBL_MDL_KEY}])。

setScope

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

オーバーライド:
クラス CommonTagSupport 内の setScope
パラメータ:
scope - 出力先のscope
関連項目:
CommonTagSupport.getScope()
説明:
 集合処理結果の DBTableModel をメモリにセットする場合のスコープを指定します。
 ここでは、マスタやスレーブのスコープ設定が必要な為、superクラスのメソッドを
 オーバーライドしてこのオブジェクト内でキープしています。
 初期値は、session です。

setMasterTableId

public void setMasterTableId(String masterTableId)
【TAG】マスタテーブルのtableIdを指定します (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。

パラメータ:
masterTableId - マスタテーブルのtableId
関連項目:
HybsSystem.TBL_MDL_KEY
説明:
 集合処理のマスタとなる DBTableModel をメモリから取り出す場合のキー(tableId)を指定します。
 (初期値:HybsSystem#TBL_MDL_KEY[={@og.value HybsSystem#TBL_MDL_KEY}])。

setMasterScope

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

パラメータ:
masterScope - マスタテーブルのscope
説明:
 集合処理のマスタとなる DBTableModel をメモリから取り出す場合のスコープを指定します。
 初期値は、session です。

setMasterKeys

public void setMasterKeys(String masterKeys)
【TAG】マスタテーブルの集合処理を行う主キーを指定します。

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

setSlaveKeys

public void setSlaveKeys(String slaveKeys)
【TAG】スレーブテーブルの集合処理を行う主キーを指定します。

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

setDiffKeys

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

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

setSlaveTableId

public void setSlaveTableId(String slaveTableId)
【TAG】スレーブテーブルのtableIdを指定します (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。

パラメータ:
slaveTableId - スレーブテーブルのtableId
関連項目:
HybsSystem.TBL_MDL_KEY
説明:
 集合処理のスレーブとなる DBTableModel をメモリから取り出す場合のキー(tableId)を指定します。
 なお、アクションがグループ(GROUP)の場合は、スレーブテーブルは使用されません。
 (初期値:HybsSystem#TBL_MDL_KEY[={@og.value HybsSystem#TBL_MDL_KEY}])。

setSlaveScope

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

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

setUnionClms

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

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

setModifyClms

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

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

setGroupAddClms

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

パラメータ:
groupAddClms - 相違データをCSV連結して残すカラム名をCSV形式で指定
説明:
 masterKeysで集合処理するときに、通常、最初に見つかった行データのみ残りますが、
 ここに指定したカラムについては、発生都度、自分自身の情報に、CSV形式で連結して
 いきます。
 この操作により、本来削除された情報が、1行のCSV形式で取得できる効果が得られます。
 これは、value タグの action="APPEND" を、DBTableModel に対して実施するような感じです。
変更履歴:
5.1.4.0 (2010/03/01) 新規追加

setNoSideEffect

public void setNoSideEffect(String noSideEffect)
【TAG】テーブルモデルに対する副作用の有無[true:ない/false:ある]を指定します(初期値:false:ある)。

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

setUseDiffData

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

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

setUseCheckOnly

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

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

setDisplay

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

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

setStopZero

public void setStopZero(String cmd)
【TAG】検索結果が0件のとき処理を続行するかどうか[true/false]を指定します(初期値:false[続行する])。

パラメータ:
cmd - 検索結果が0件のとき、[true:処理を中止する/false:続行する]
説明:
 初期値は、false(続行する)です。
変更履歴:
5.7.6.2 (2014/05/16) 新規追加

setMainTrans

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

パラメータ:
flag - メイントランザクションかどうか
説明:
 この値は、ファイルダウンロード処理に影響します。この値がtrueに指定された時にcommitされたDBTableModelが
 ファイルダウンロードの対象の表になります。

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

setSeparator

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

パラメータ:
sepa - 項目区切り文字(初期値:",")
説明:
 groupAddClmsで文字列を連結する項目区切り文字をセットします(初期値:",")。
 初期値は、"," に設定されています。
変更履歴:
5.3.1.0 (2011/01/01)

toString

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

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

openGion 5.8.5.0

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