パッケージ org.opengion.hayabusa.taglib

# クラス TableUpdateParamTag

java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
jakarta.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.TableUpdateParamTag

すべての実装されたインタフェース:
  `BodyTag`, `IterationTag`, `JspTag`, `Tag`, `TryCatchFinally`, `Serializable`

public class TableUpdateParamTag extends CommonTagSupport
TableUpdateTag にﾊﾟﾗﾒｰﾀｰを渡す為のﾀｸﾞｸﾗｽです｡ 汎用的なﾃﾞｰﾀﾍﾞｰｽ登録処理を行えるﾀｸﾞ tableUpdate ﾀｸﾞを新規作成します｡ これは、具体的なSLQを作成する tableUpdateParam ﾀｸﾞと組み合わせて使用できます｡ tableUpdate ﾀｸﾞは、queryType に JDBCTableUpdate を指定します｡基本的にこれだけ です｡tableUpdateParam では、sqlType に、INSERT,COPY,UPDATE,MODIFY,DELETE の どれかを指定する事で、SQL文のﾀｲﾌﾟを指定します｡COPY,MODIFY は command と 関連を持たす為に追加しているﾀｲﾌﾟで、UPDATE,INSERT と同じ処理を行います｡ tableUpdateParam の table には、作成したい SQL のﾃｰﾌﾞﾙを指定します｡ where 属性は、検索結果の DBTableModel の更新時に使用する条件を指定します｡

関連項目:
  - 直列化された形式
変更履歴:
  3.8.8.0 (2007/12/22) 新規作成, 4.1.2.0 (2008/03/12) 実装の大幅な修正, 7.2.9.1 (2020/10/23) TableUpdateParamTag のﾏｰｼﾞ(UPDATE,INSERT)対応
機能分類
  DB登録
形式ｻﾝﾌﾟﾙ:
  ●形式：<og:tableUpdate command="{@command}" queryType="JDBCTableUpdate" > <og:tableUpdateParam sqlType = "{@sqlType}" // INSERT,COPY,UPDATE,MODIFY,DELETE,MERGE table = "{@TABLE_NAME}" // 処理対象のﾃｰﾌﾞﾙ名 names = "{@names}" // 処理対象のｶﾗﾑ名 omitNames = "{@omitNames}" // 処理対象外のｶﾗﾑ名 where = "{@where}" // 処理対象を特定するｷｰ whereNames = "{@whereNames}" // 処理対象を特定するｷｰ条件(where句)をCSV形式 constKeys = "{@constKeys}" // 処理ｶﾗﾑ名の中の固定情報ｶﾗﾑ名 constVals = "{@constVals}" // 処理ｶﾗﾑ名の中の固定情報設定値 asNames = "{@asNames}" // 別名を付けたｶﾗﾑ名(select A as B from TBL の B を指定) orgNames = "{@orgNames}" // tableの実際のｶﾗﾑ名(select A as B from TBL の A を指定) funcKeys = "{@funcKeys}" // 関数等を設定するｶﾗﾑ名 funcVals = "{@funcVals}" // 関数等の設定値 logicalDelete = "{@logicalDelete}" // sqlTypeがDELETEの場合にもUPDATE文を発行 /> </og:tableUpdate> ●body：なし ●Tag定義： <og:tableUpdateParam sqlType ○【TAG】BODY部に書かれている SQLﾀｲﾌﾟを指定します(INSERT,COPY,UPDATE,MODIFY,DELETE,MERGE)(必須) table ○【TAG】処理対象のﾃｰﾌﾞﾙ名を指定します(必須) names 【TAG】処理対象のｶﾗﾑ名をCSV形式で複数指定します omitNames 【TAG】処理対象外のｶﾗﾑ名をCSV形式で複数指定します where 【TAG】処理対象を特定するｷｰ条件(where句)を指定します whereNames 【TAG】処理対象を特定するｷｰ条件(where句)をCSV形式で複数指定します insertOnly 【TAG】true に設定すると、sqlType="MERGE" 時のみ有効で、where 条件で存在すれば何もしない(初期値:false) 7.4.1.0 (2021/04/23) constKeys 【TAG】設定値を固定値と置き換える対象となるｶﾗﾑ名をCSV形式で複数指定します constVals 【TAG】設定値を固定値と置き換える対象となる設定値をCSV形式で複数指定します funcKeys 【TAG】関数等を設定するｶﾗﾑ名をCSV形式で複数指定します funcVals 【TAG】関数等の設定値をCSV形式で複数指定します asNames 【TAG】別名を付けたｶﾗﾑ名(select A as B from TBL の B を指定)をCSV形式で複数指定します orgNames 【TAG】tableの実際のｶﾗﾑ名(select A as B from TBL の A を指定)をCSV形式で複数指定します quotCheck 【TAG】ﾘｸｴｽﾄ情報の ｼﾝｸﾞﾙｸｫｰﾄ(') 存在ﾁｪｯｸを実施するかどうか[true/false]を設定します (初期値:USE_SQL_INJECTION_CHECK[=true]) constObjKey 【TAG】固定情報ｶﾗﾑの処理ｵﾌﾞｼﾞｪｸﾄを特定するｷｰを設定します(初期値:SYSTEM_ID) logicalDelete 【TAG】sqlType="DELETE"の場合に論理削除(UPDATE)を行うかどうかを指定します(初期値:false) caseKey 【TAG】このﾀｸﾞ自体を利用するかどうかの条件ｷｰを指定します(初期値:null) caseVal 【TAG】このﾀｸﾞ自体を利用するかどうかの条件値を指定します(初期値:null) caseNN 【TAG】指定の値が、null/ｾﾞﾛ文字列 でない場合(Not Null=NN)は、このﾀｸﾞは使用されます(初期値:判定しない) caseNull 【TAG】指定の値が、null/ｾﾞﾛ文字列 の場合は、このﾀｸﾞは使用されます(初期値:判定しない) caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このﾀｸﾞは使用されます(初期値:判定しない) debug 【TAG】ﾃﾞﾊﾞｯｸﾞ情報を出力するかどうか[true/false]を指定します(初期値:false) /> ●使用例 ･【entry.jsp】 <og:tableUpdate command="{@command}" queryType="JDBCTableUpdate" > <og:tableUpdateParam sqlType = "{@sqlType}" table = "{@MEM.TABLE_NAME}" where = "ROWID = [ROWID]" /> </og:tableUpdate>
導入されたバージョン:
  JDK5.0,

- ## フィールドの概要

  フィールド
  修飾子とタイプ
  フィールド
  説明
  `static final String`
  `SQL_TYPE`
  sqlType属性に設定できる値 "|INSERT|COPY|UPDATE|MODIFY|DELETE|MERGE|"

  ### クラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport

  `BR, BUFFER_MIDDLE, CR`

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

  `bodyContent`

  ### クラスから継承されたフィールド jakarta.servlet.jsp.tagext.TagSupport

  `id, pageContext`

  ### インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTag

  `EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

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

  `EVAL_BODY_AGAIN`

  ### インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.Tag

  `EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

- ## コンストラクタの概要

  コンストラクタ
  コンストラクタ
  説明
  `TableUpdateParamTag()`
  ﾃﾞﾌｫﾙﾄｺﾝｽﾄﾗｸﾀｰ

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `int`
  `doEndTag()`
  Taglibの終了ﾀｸﾞが見つかったときに処理する doEndTag() を ｵｰﾊﾞｰﾗｲﾄﾞします｡
  `int`
  `doStartTag()`
  Taglibの開始ﾀｸﾞが見つかったときに処理する doStartTag() を ｵｰﾊﾞｰﾗｲﾄﾞします｡
  `protected void`
  `release2()`
  ﾀｸﾞﾘﾌﾞｵﾌﾞｼﾞｪｸﾄをﾘﾘｰｽします｡ ｷｬｯｼｭされて再利用されるので、ﾌｨｰﾙﾄﾞの初期設定を行います｡
  `void`
  `setAsNames(String keys)`
  【TAG】別名を付けたｶﾗﾑ名(select A as B from TBL の B を指定)をCSV形式で複数指定します｡
  `void`
  `setConstKeys(String keys)`
  【TAG】設定値を固定値と置き換える対象となるｶﾗﾑ名をCSV形式で複数指定します｡
  `void`
  `setConstObjKey(String key)`
  【TAG】固定情報ｶﾗﾑの処理ｵﾌﾞｼﾞｪｸﾄを特定するｷｰを設定します(初期値:SYSTEM_ID)｡
  `void`
  `setConstVals(String vals)`
  【TAG】設定値を固定値と置き換える対象となる設定値をCSV形式で複数指定します｡
  `void`
  `setFuncKeys(String keys)`
  【TAG】関数等を設定するｶﾗﾑ名をCSV形式で複数指定します｡
  `void`
  `setFuncVals(String vals)`
  【TAG】関数等の設定値をCSV形式で複数指定します｡
  `void`
  `setInsertOnly(String flag)`
  【TAG】true に設定すると、sqlType="MERGE" 時のみ有効で、where 条件で存在すれば何もしない(初期値:false)｡
  `void`
  `setLogicalDelete(String flag)`
  【TAG】sqlType="DELETE"の場合に論理削除(UPDATE)を行うかどうかを指定します(初期値:false)｡
  `void`
  `setNames(String nms)`
  【TAG】処理対象のｶﾗﾑ名をCSV形式で複数指定します｡
  `void`
  `setOmitNames(String nms)`
  【TAG】処理対象外のｶﾗﾑ名をCSV形式で複数指定します｡
  `void`
  `setOrgNames(String keys)`
  【TAG】tableの実際のｶﾗﾑ名(select A as B from TBL の A を指定)をCSV形式で複数指定します｡
  `void`
  `setQuotCheck(String flag)`
  【TAG】ﾘｸｴｽﾄ情報の ｼﾝｸﾞﾙｸｫｰﾄ(') 存在ﾁｪｯｸを実施するかどうか[true/false]を設定します (初期値:USE_SQL_INJECTION_CHECK[=])｡
  `void`
  `setSqlType(String type)`
  【TAG】BODY部に書かれている SQLﾀｲﾌﾟを指定します｡
  `void`
  `setTable(String tbl)`
  【TAG】処理対象のﾃｰﾌﾞﾙ名を指定します｡
  `void`
  `setWhere(String wr)`
  【TAG】処理対象を特定するｷｰ条件(where句)を指定します｡
  `void`
  `setWhereNames(String wrnm)`
  【TAG】処理対象を特定するｷｰ条件(where句)をCSV形式で複数指定します｡
  `String`
  `toString()`
  このｵﾌﾞｼﾞｪｸﾄの文字列表現を返します｡ 基本的にﾃﾞﾊﾞｯｸﾞ目的に使用します｡

  ### クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport

  `add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, debugPrint, doAfterBody, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsg, getMsglbl, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getTransaction, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, makeUrl, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseIf, setCaseKey, setCaseNN, setCaseNull, setCaseVal, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setNoTransitionRequest, setObject, setObject, setParameterNames, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useTag, useXssCheck`

  ### クラスから継承されたメソッド jakarta.servlet.jsp.tagext.BodyTagSupport

  `doInitBody, getBodyContent, getPreviousOut, release, setBodyContent`

  ### クラスから継承されたメソッド jakarta.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`

  ### インタフェースから継承されたメソッド jakarta.servlet.jsp.tagext.Tag

  `getParent, setPageContext, setParent`

- ## フィールド詳細

  - ### SQL_TYPE

    public static final String SQL_TYPE
    sqlType属性に設定できる値 "|INSERT|COPY|UPDATE|MODIFY|DELETE|MERGE|"
    関連項目:
      - 定数フィールド値

- ## コンストラクタの詳細

  - ### TableUpdateParamTag

    public TableUpdateParamTag()
    ﾃﾞﾌｫﾙﾄｺﾝｽﾄﾗｸﾀｰ
    変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

- ## メソッドの詳細

  - ### doStartTag

    public int doStartTag()
    Taglibの開始ﾀｸﾞが見つかったときに処理する doStartTag() を ｵｰﾊﾞｰﾗｲﾄﾞします｡
    定義:
      `doStartTag` インタフェース内 `Tag`
    オーバーライド:
      `doStartTag` クラス内 `CommonTagSupport`
    戻り値:
      後続処理の指示( SKIP_BODY )
    変更履歴:
      5.5.1.9 (2012/04/19) ｴﾗｰﾁｪｯｸを先に行います｡, 6.3.4.0 (2015/08/01) caseKey,caseVal,caseNN,caseNull,caseIf 属性対応, 7.0.1.0 (2018/10/15) XHTML → HTML5 対応(空要素の、"／＞" 止めを、"＞" に変更します)｡

  - ### doEndTag

    public int doEndTag()
    Taglibの終了ﾀｸﾞが見つかったときに処理する doEndTag() を ｵｰﾊﾞｰﾗｲﾄﾞします｡
    定義:
      `doEndTag` インタフェース内 `Tag`
    オーバーライド:
      `doEndTag` クラス内 `CommonTagSupport`
    戻り値:
      後続処理の指示
    変更履歴:
      4.3.7.0 (2009/06/01) 論理削除対応, 6.3.4.0 (2015/08/01) caseKey,caseVal,caseNN,caseNull,caseIf 属性対応, 7.2.9.1 (2020/10/23) TableUpdateParamTag のﾏｰｼﾞ(UPDATE,INSERT)対応, 7.4.1.0 (2021/04/23) sqlType="MERGE" 時のみ有効で、where 条件で存在すれば何もしない, 8.3.0.3 (2022/08/26) sqlType="MERGE" の場合、UPDATE文 に追加関連固定ｶﾗﾑｷｰが追加される不具合対応

  - ### release2

    protected void release2()
    ﾀｸﾞﾘﾌﾞｵﾌﾞｼﾞｪｸﾄをﾘﾘｰｽします｡ ｷｬｯｼｭされて再利用されるので、ﾌｨｰﾙﾄﾞの初期設定を行います｡
    オーバーライド:
      `release2` クラス内 `CommonTagSupport`
    変更履歴:
      4.3.7.0 (2009/06/01) logicalDelete属性追加, 5.5.1.9 (2012/04/19) asNames、orgNames、funcKeys、funcVals属性追加, 5.5.8.5 (2012/11/27) 処理対象を特定するCSV形式のｶﾗﾑ名, 7.4.1.0 (2021/04/23) sqlType="MERGE" 時のみ有効で、where 条件で存在すれば何もしない

  - ### setSqlType

    public void setSqlType(String type)
    【TAG】BODY部に書かれている SQLﾀｲﾌﾟを指定します｡
    パラメータ:
      `type` - SQLﾀｲﾌﾟ [INSERT/COPY/UPDATE/MODIFY/DELETE/MERGE]
    説明:
      SQLﾀｲﾌﾟは、INSERT,COPY,UPDATE,MODIFY,DELETE,MERGE の中から指定する 必要があります｡これらは、内部に書かれるSQLの形式を指定するのに使用します｡ 内部処理は、DBTableModelの改廃ｺｰﾄﾞ(A,C,D)に対して使用される SQL を選択する場合の情報に使用されます｡ なお、COPY と MODIFY は、command で指定できる簡易機能として用意しています｡ 上位の TableUpdateTag の sqlType 属性 と同じsqlType 属性の場合のみ、SQL文を 合成･出力します｡(上位のsqlTypeがnullの場合は、無条件実行します｡) 指定のﾀｲﾌﾟが、異なる場合は、なにも処理を行いません｡

  - ### setTable

    public void setTable(String tbl)
    【TAG】処理対象のﾃｰﾌﾞﾙ名を指定します｡
    パラメータ:
      `tbl` - ﾃｰﾌﾞﾙ名
    関連項目:
      - `setNames(String)`
      - `setWhere(String)`
      - `setSqlType(String)`
    説明:
      ﾃｰﾌﾞﾙ名を指定することで、sqlTypeに応じた QUERYを生成することが出来ます｡ 生成する場合のｶﾗﾑを特定する場合は、names 属性で指定できます｡ また、WHERE条件は、where属性で指定します｡

  - ### setNames

    public void setNames(String nms)
    【TAG】処理対象のｶﾗﾑ名をCSV形式で複数指定します｡
    パラメータ:
      `nms` - ｶﾗﾑ名 (CSV形式)
    関連項目:
      - `setTable(String)`
      - `setOmitNames(String)`
    変更履歴:
      3.8.8.5 (2007/03/09) 通常のﾊﾟﾗﾒｰﾀ取得後に、CSV分解に戻します｡
    説明:
      生成するQUERYのｶﾗﾑ名をCSV形式(CSV)で複数指定します｡ 指定がない場合は、DBTableModel の全ｶﾗﾑ(※)を使用して、QUERYを構築します｡ 一般に、ﾃｰﾌﾞﾙ結合してDBTableModelを構築した場合は、登録すべきｶﾗﾑを 指定する必要があります｡ (※)正確には、DBTableModel の全ｶﾗﾑのうち、ROWID,ROWNUM,WRITABLE ｶﾗﾑは 無視します｡ 分解方法は、通常のﾊﾟﾗﾒｰﾀ取得後に、CSV分解します｡

  - ### setOmitNames

    public void setOmitNames(String nms)
    【TAG】処理対象外のｶﾗﾑ名をCSV形式で複数指定します｡
    パラメータ:
      `nms` - ｶﾗﾑ名 (CSV形式)
    関連項目:
      - `setTable(String)`
      - `setNames(String)`
    説明:
      生成するQUERYのｶﾗﾑ名に指定しないｶﾗﾑ名をCSV形式(CSV)で複数指定します｡ 指定がない場合は、DBTableModel の全ｶﾗﾑ(※)を使用して、QUERYを構築します｡ ﾃｰﾌﾞﾙ結合などで、処理したくないｶﾗﾑ数の方が少ない場合に、names ですべてを 指定するより少ない記述ですみます｡ (※)正確には、DBTableModel の全ｶﾗﾑのうち、ROWID,ROWNUM,WRITABLE ｶﾗﾑは 無視します｡

  - ### setWhere

    public void setWhere(String wr)
    【TAG】処理対象を特定するｷｰ条件(where句)を指定します｡
    パラメータ:
      `wr` - 検索条件 (where句)
    説明:
      生成するQUERYのwhere 句を指定します｡通常の WHERE 句の書き方と同じで、 DBTableModelの値を割り当てたい箇所に[ｶﾗﾑ名] を記述します｡ 文字列の場合、設定値をｾｯﾄするときに、ｼﾝｸﾞﾙｺｰﾃｰｼｮﾝを 使用しますが、[ｶﾗﾑ名]で指定する場合は、その前後に、(')ｼﾝｸﾞﾙ ｺｰﾃｰｼｮﾝは、不要です｡ {@XXXX}変数を使用する場合は、ﾊﾟｰｽ時に固定文字に置き換えられる為、 文字列指定時の(')ｼﾝｸﾞﾙｺｰﾃｰｼｮﾝが必要になります｡ ※ 5.5.8.5 (2012/11/27) whereNames 属性と併用した場合は、where が、and を付けて、文字列結合されます｡ 例：FGJ='1' and CLM=[CLM] and SYSTEM_ID in ([SYSID],'**') and KBSAKU='{@KBSAKU}'

  - ### setWhereNames

    public void setWhereNames(String wrnm)
    【TAG】処理対象を特定するｷｰ条件(where句)をCSV形式で複数指定します｡
    パラメータ:
      `wrnm` - 検索条件ｶﾗﾑ (where句)作成のためのｶﾗﾑ名(CSV形式)
    変更履歴:
      5.5.8.5 (2012/11/27) 新規追加
    説明:
      生成するQUERYのwhere 句を指定する方法として、複数のｶﾗﾑ名をCSV指定し、内部で KEY=[KEY] 文字列を作成します｡ ここでは、ｶﾗﾑ名は、ﾃﾞｰﾀﾍﾞｰｽのｶﾗﾑ名と同じで、かつ、DBTableModel にも 同じｶﾗﾑのﾃﾞｰﾀが存在していること、という条件付きとします｡ また、where 条件との併用を行いますが、こちらの条件が先に使用され、where 条件は、 and を付けて、文字列結合されます｡ 例： CLM,SYSTEM_ID,KBSAKU ⇒ CLM=[CLM] and SYSTEM_ID=[SYSTEM_ID] and KBSAKU=[KBSAKU]

  - ### setInsertOnly

    public void setInsertOnly(String flag)
    【TAG】true に設定すると、sqlType="MERGE" 時のみ有効で、where 条件で存在すれば何もしない(初期値:false)｡
    パラメータ:
      `flag` - "true" に設定すると、sqlType="MERGE" 時に、where条件で検索
    変更履歴:
      7.4.1.0 (2021/04/23) sqlType="MERGE" 時のみ有効で、where 条件で存在すれば何もしない
    説明:
      true に設定すると、sqlType="MERGE" 時に、where条件で、検索して、存在しない場合は、追加します｡ 存在する場合は、何もしません｡ 何もしない（更新しない）ところが、通常のMERGEと異なる箇所です｡ 動作としては、UPDATEの代わりに、SELECT で判定します｡ 初期値は、false で、あれば更新、なければ追加処理を行います｡

  - ### setConstKeys

    public void setConstKeys(String keys)
    【TAG】設定値を固定値と置き換える対象となるｶﾗﾑ名をCSV形式で複数指定します｡
    パラメータ:
      `keys` - 固定値ｶﾗﾑ (CSV形式)
    関連項目:
      - `setConstVals(String)`
    説明:
      names 属性のｶﾗﾑや table 属性より、QUERYを作成して、DBTableModelの値を 割り当てる場合、DBTableModelの値ではなく、外部から指定した固定値を 割り当てたい場合に、そのｶﾗﾑ名をCSV形式(CSV)で複数指定します｡ 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します｡ こうしないとﾃﾞｰﾀ自身にｶﾝﾏを持っている場合に分解をﾐｽる為です｡

  - ### setConstVals

    public void setConstVals(String vals)
    【TAG】設定値を固定値と置き換える対象となる設定値をCSV形式で複数指定します｡
    パラメータ:
      `vals` - 設定値(CSV形式)
    関連項目:
      - `setConstKeys(String)`
    説明:
      names 属性のｶﾗﾑや table 属性より、QUERYを作成して、DBTableModelの 値を割り当てる場合、DBTableModelの値ではなく、外部から指定した固定値を 割り当てたい場合に、そのｶﾗﾑ名に対応する設定値をCSV形式(CSV)で 複数指定します｡ここで指定する設定値は、constKeys 属性と対応させます｡ 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します｡ こうしないとﾃﾞｰﾀ自身にｶﾝﾏを持っている場合に分解をﾐｽる為です｡

  - ### setFuncKeys

    public void setFuncKeys(String keys)
    【TAG】関数等を設定するｶﾗﾑ名をCSV形式で複数指定します｡
    パラメータ:
      `keys` - 関数ｶﾗﾑ (CSV形式)
    関連項目:
      - `setFuncVals(String)`
    変更履歴:
      5.5.1.9 (2012/04/19) 新規追加
    説明:
      constVals 属性で設定する値は、必ずｼﾝｸﾞﾙｸｵｰﾄが付与されます｡ その場合、関数などを設定したい場合でも、文字列として設定しようとします｡ ここで指定するｶﾗﾑ名(funcKeys)自身は、constKeys と同じ書式です｡ 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します｡ こうしないとﾃﾞｰﾀ自身にｶﾝﾏを持っている場合に分解をﾐｽる為です｡

  - ### setFuncVals

    public void setFuncVals(String vals)
    【TAG】関数等の設定値をCSV形式で複数指定します｡
    パラメータ:
      `vals` - 関数設定値 (CSV形式)
    関連項目:
      - `setFuncKeys(String)`
    変更履歴:
      5.5.1.9 (2012/04/19) 新規追加
    説明:
      funcKeys 属性に対応する 関数などの設定値を割り当てます｡ constVals 属性との違いは、funcVals の設定値は、そのままの形で、SQL文の 構築に使われます｡ 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します｡ こうしないとﾃﾞｰﾀ自身にｶﾝﾏを持っている場合に分解をﾐｽる為です｡

  - ### setAsNames

    public void setAsNames(String keys)
    【TAG】別名を付けたｶﾗﾑ名(select A as B from TBL の B を指定)をCSV形式で複数指定します｡
    パラメータ:
      `keys` - 別名ｶﾗﾑ (CSV形式)
    関連項目:
      - `setOrgNames(String)`
    変更履歴:
      5.5.1.9 (2012/04/19) 新規追加
    説明:
      SELECT 文を記述したとき、別名を付けていたり、SELECTしたﾃｰﾌﾞﾙと別のﾃｰﾌﾞﾙに DBTableModelの値を書き込む場合、DBTableModel の持っているｶﾗﾑ名と、実際に 書き込むｶﾗﾑ名が異なります｡そのようなｹｰｽに、元の別名ｶﾗﾑを指定します｡ orgNames属性の並び順と、asNames属性の並び順を合わせておく必要があります｡ このｶﾗﾑ名は、DBTableModel には持っているが、ﾃｰﾌﾞﾙ側には持っていない値 なので、内部的に omitNames 属性に値を設定します｡利用者は、omitNames に 書き込む必要はありません｡ 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します｡ こうしないとﾃﾞｰﾀ自身にｶﾝﾏを持っている場合に分解をﾐｽる為です｡

  - ### setOrgNames

    public void setOrgNames(String keys)
    【TAG】tableの実際のｶﾗﾑ名(select A as B from TBL の A を指定)をCSV形式で複数指定します｡
    パラメータ:
      `keys` - 実ｶﾗﾑ (CSV形式)
    関連項目:
      - `setAsNames(String)`
    変更履歴:
      5.5.1.9 (2012/04/19) 新規追加
    説明:
      SELECT 文を記述したとき、別名を付けていたり、SELECTしたﾃｰﾌﾞﾙと別のﾃｰﾌﾞﾙに DBTableModelの値を書き込む場合、DBTableModel の持っているｶﾗﾑ名と、実際に 書き込むｶﾗﾑ名が異なります｡そのようなｹｰｽに、ﾃｰﾌﾞﾙの実ｶﾗﾑを指定します｡ orgNames属性の並び順と、asNames属性の並び順を合わせておく必要があります｡ このｶﾗﾑ名は、DBTableModel には持っていませんが、ﾃｰﾌﾞﾙ側には持っている値 なので、このｶﾗﾑ名で、SQL文を構築します｡ UPDATE TBL SET A=[B] WHERE … となります｡ 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します｡ こうしないとﾃﾞｰﾀ自身にｶﾝﾏを持っている場合に分解をﾐｽる為です｡

  - ### setQuotCheck

    public void setQuotCheck(String flag)
    【TAG】ﾘｸｴｽﾄ情報の ｼﾝｸﾞﾙｸｫｰﾄ(') 存在ﾁｪｯｸを実施するかどうか[true/false]を設定します (初期値:USE_SQL_INJECTION_CHECK[=])｡
    パラメータ:
      `flag` - ｸｫｰﾄﾁｪｯｸ [true:する/それ以外:しない]
    関連項目:
      - `SystemData.USE_SQL_INJECTION_CHECK`
    説明:
      SQLｲﾝｼﾞｪｸｼｮﾝ対策の一つとして、暫定的ではありますが、SQLのﾊﾟﾗﾒｰﾀに 渡す文字列にｼﾝｸﾞﾙｸｫｰﾄ(') を許さない設定にすれば、ある程度は防止できます｡ 数字ﾀｲﾌﾟの引数には、 or 5=5 などのｼﾝｸﾞﾙｸｫｰﾄを使用しないｺｰﾄﾞを埋めても、 数字ﾁｪｯｸで検出可能です｡文字ﾀｲﾌﾟの場合は、必ず (')をはずして、 ' or 'A' like 'A のような形式になる為、(')ﾁｪｯｸだけでも有効です｡ (') が含まれていたｴﾗｰにする(true)/かﾉｰﾁｪｯｸか(false)を指定します｡ (初期値:ｼｽﾃﾑ定数のUSE_SQL_INJECTION_CHECK[=])｡

  - ### setConstObjKey

    public void setConstObjKey(String key)
    【TAG】固定情報ｶﾗﾑの処理ｵﾌﾞｼﾞｪｸﾄを特定するｷｰを設定します(初期値:SYSTEM_ID)｡
    パラメータ:
      `key` - 固定ｶﾗﾑｷｰ
    変更履歴:
      6.9.8.0 (2018/05/28) 固定情報ｶﾗﾑを使用しない場合は、constObjKey="" をｾｯﾄ｡
    説明:
      固定情報ｶﾗﾑ をｼｽﾃﾑ単位にJavaｸﾗｽで管理できます｡ そのｸﾗｽｵﾌﾞｼﾞｪｸﾄは、org.opengion.hayabusa.db.DBConstValue ｲﾝﾀｰﾌｪｰｽを 継承した、plugin ｸﾗｽになります｡ そのｸﾗｽを特定するｷｰﾜｰﾄﾞを指定します｡ 初期値は、SYSTEM_ID でｼｽﾃﾑ単位にｸﾗｽを作成します｡ もし、他のｼｽﾃﾑと共通の場合は、継承だけさせることも可能です｡ 対応したDBConstValueｸﾗｽがﾌﾟﾗｸﾞｲﾝとして存在しない場合は、 ｼｽﾃﾑﾘｿｰｽのDEFAULT_CONST_CLASSで指定されたｸﾗｽが利用されます｡ 固定情報ｶﾗﾑを使用しない場合は、constObjKey="" をｾｯﾄしてください｡ 初期値は、SYSTEM_ID です｡

  - ### setLogicalDelete

    public void setLogicalDelete(String flag)
    【TAG】sqlType="DELETE"の場合に論理削除(UPDATE)を行うかどうかを指定します(初期値:false)｡
    パラメータ:
      `flag` - 論理削除可否 [true:UPDATE文/false:DELETE文]
    説明:
      sqlType="DELETE"の場合に論理削除(UPDATE)を行うかどうかを指定します｡ trueが指定された場合は、DELETE文ではなく、UPDATE文が発行されます｡ falseが指定された場合は、DELETE文が発行されます｡ さらに論理削除を行う場合、org.opengion.hayabusa.db.DBConstValue ｲﾝﾀｰﾌｪｰｽに 定義されている、getLogicalDeleteKeys()及びgetLogicalDeleteValsを実装することで、 論理削除する際のﾌﾗｸﾞの更新方法を統一的に管理することが可能になります｡ 初期値は、false(物理削除する)です

  - ### toString

    public String toString()
    このｵﾌﾞｼﾞｪｸﾄの文字列表現を返します｡ 基本的にﾃﾞﾊﾞｯｸﾞ目的に使用します｡
    オーバーライド:
      `toString` クラス内 `CommonTagSupport`
    戻り値:
      このｸﾗｽの文字列表現
    このﾒｿｯﾄﾞは、nullを返しません