org.opengion.hayabusa.taglib

## クラス WriteTableParamTag

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

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

      public class WriteTableParamTag
      extends CommonTagSupport

  WriteTableTag にパラメーターを渡す為のタグクラスです。 writeTable タグに対して、EXEC_SQL 情報や、tableName情報を付加することができます。 WriteTable の、writerClass によって、使用できるキーが異なります。 writerClass="XML" 　　TableName ：XML 形式の ROWSET の table 属性になります。 　　First ：最初に記載して、初期処理(データクリア等)を実行させる、EXEC_SQL 情報になります。 　　Last ：最後に記載して、項目の設定(整合性登録)を行う、EXEC_SQL 情報になります。 　　MergeSql ：このSQL文で UPDATEして、結果が０件ならINSERTを行う、MERGE_SQL 情報になります。 writerClass="JSON" 　　JsonName ：JSON形式で、配列をオブジェクトとしてまとめる場合に使います。 　　LowerCase ：カラム名(=パラメータ名)を小文字にする場合、true をセットします(初期値:false)。 writerClass="CalcDef" 　　Size ：レコードのデータ件数(初期値:25) 値は、value 属性で指定するか、なければ BODY 部に記述します。 tableName情報は、XMLファイルのROWSET属性にセットすることで、XMLファイルの登録テーブル名を 指定することができます。 EXEC_SQL 情報とは、タブ区切りファイルやXML形式ファイルの先頭(key="First") または、最後(key="Last")に、SQL文を記述することで、ファイル取り込み時の 前処理、後処理を処理する為の情報です。 key="MergeSql" で、MERGE_SQL 情報をセットできます。MERGE_SQL を登録すると、 そのSQL文で、UPDATEして、結果が０件ならINSERTを行います。 この情報は、複数件登録できるため、通常の writeTable タグに属性を追加すると、 複雑になるため、複数登録できる用に、内部にタグを持てる構造にします。
  関連項目:
    直列化された形式
  形式サンプル:

         ●形式：
             <og:writeTableParam key="[First|Last|TableName]" >
                  delete from GE12 where SYSTEM_ID='**' and KBSAKU='0'
             </og:writeTableParam

         ●body：あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します)

         ●Tag定義：
           <og:writeTableParam
               key              ○【TAG】パラメータとして渡すキー情報([First|Last|MergeSql|TableName|Size|JsonName|LowerCase])を指定しま(必須)。
               value              【TAG】パラメータとして渡す設定値を指定します(初期値:null)
               caseKey            【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null)
               caseVal            【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null)
               caseNN             【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:true)
               caseNull           【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:true)
               debug              【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false)
           >   ... Body ...
           </og:writeTableParam>

         ●使用例
             <og:writeTable ･････ >
                 <og:writeTableParam
                     key  = "Tablename"  value="GE12"
                 />
                 <og:writeTableParam
                     key  = "First"             First:最初に登録
                 >
                              insert into GE12bk
                                 select * from GE12
                                 where SYSTEM_ID='**'
                 </og:writeTableParam
                 <og:writeTableParam
                     key  = "First"             First:の２番目に登録
                 >
                      delete from GE12 where SYSTEM_ID='**' and KBSAKU='0'
                 </og:writeTableParam
                 <og:writeTableParam
                     key  = "Last"              Last:最後に登録
                 >
                      update GE12 set XXXX='YYYY' where SYSTEM_ID='**' and KBSAKU='0'
                 </og:writeTableParam
             </og:writeTableParam

  変更履歴:

    4.0.0.0 (2005/01/31) 新規作成
    5.6.6.1 (2013/07/12) MERGE_SQL 対応

  機能分類
    ファイル出力
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### フィールドの概要

    - ### クラスから継承されたフィールド 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`

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

    コンストラクタ
    コンストラクタと説明
    `WriteTableParamTag()`

  - ### メソッドの概要

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `int` | `doAfterBody()` Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
    `int` | `doEndTag()` Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
    `int` | `doStartTag()` Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
    `protected void` | `release2()` タグリブオブジェクトをリリースします。
    `void` | `setKey(String prmKey)` 【TAG】パラメータとして渡すキー情報([First|Last|MergeSql||TableName|Size|JsonName|LowerCase])を指定しま。
    `void` | `setValue(String val)` 【TAG】パラメータとして渡す設定値を指定します(初期値:null)。
    `String` | `toString()` このオブジェクトの文字列表現を返します。

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

      `add, add, addEventColumn, addEventColumn, check, check, commitTableObject, debugPrint, doCatch, doFinally, 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, setScope, 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`

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

    - #### WriteTableParamTag

          public WriteTableParamTag()

  - ### メソッドの詳細

    - #### doStartTag

          public int doStartTag()

      Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
      定義:
        `doStartTag` インタフェース内 `Tag`
      オーバーライド:
        `doStartTag` クラス内 `CommonTagSupport`
      戻り値:
        後続処理の指示
      変更履歴:

        5.6.6.1 (2013/07/12) caseKey 、caseVal 属性対応

    - #### doAfterBody

          public int doAfterBody()

      Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
      定義:
        `doAfterBody` インタフェース内 `IterationTag`
      オーバーライド:
        `doAfterBody` クラス内 `CommonTagSupport`
      戻り値:
        後続処理の指示(SKIP_BODY)

    - #### doEndTag

          public int doEndTag()

      Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
      定義:
        `doEndTag` インタフェース内 `Tag`
      オーバーライド:
        `doEndTag` クラス内 `CommonTagSupport`
      戻り値:
        後続処理の指示
      変更履歴:

        5.6.6.1 (2013/07/12) caseKey 、caseVal 属性対応

    - #### release2

          protected void release2()

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

    - #### setKey

          public void setKey(String prmKey)

      【TAG】パラメータとして渡すキー情報([First|Last|MergeSql||TableName|Size|JsonName|LowerCase])を指定しま。
      パラメータ:
        `prmKey` - パラメータとして渡すキー情報([First|Last|MergeSql||TableName|Size|JsonName|LowerCase])
      説明:

             WriteTable に渡すパラメータのキー情報です。
             writerClass によって、使用できるキーが異なります。
             writerClass="XML"
             　　TableName ：XML 形式の ROWSET の table 属性になります。
             　　First     ：最初に記載して、初期処理(データクリア等)を実行させる、EXEC_SQL 情報になります。
             　　Last      ：最後に記載して、項目の設定(整合性登録)を行う、EXEC_SQL 情報になります。
             　　MergeSql  ：このSQL文で UPDATEして、結果が０件ならINSERTを行う、MERGE_SQL 情報になります。
             writerClass="JSON"
             　　JsonName  ：JSON形式で、配列をオブジェクトとしてまとめる場合に使います。
             　　LowerCase ：カラム名(=パラメータ名)を小文字にする場合、true をセットします(初期値:false)。
             writerClass="CalcDef"
             　　Size ：レコードのデータ件数(初期値:25)

             値は、value 属性で指定するか、なければ BODY 部に記述します。

    - #### setValue

          public void setValue(String val)

      【TAG】パラメータとして渡す設定値を指定します(初期値:null)。
      パラメータ:
        `val` - パラメータとして渡す設定値
      説明:

             WriteTable に渡すパラメータの設定値です。
             First と Last を指定した場合は、XML 形式で出力する EXEC_SQL 情報になります。
             TableName の場合は、XML 形式の ROWSET の table 属性になります。
             値は、value 属性で指定するか、なければ BODY 部に記述します。
             BODY 部に記述された場合は、文字列を trim() します。
             設定値は、value 属性が優先です。ここの値が、null の場合は、
             BODY 要素を値として使用します。

    - #### toString

          public String toString()

      このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
      オーバーライド:
        `toString` クラス内 `CommonTagSupport`
      戻り値:
        このクラスの文字列表現

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