org.opengion.hayabusa.taglib

## クラス ColumnSetTag

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

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

      public class ColumnSetTag
      extends CommonTagSupport

       検索結果の DBTableModelオブジェクトのカラム値を操作(設定、変換、ADDなど)するタグです。

       entry タグの子タグとして使用します。entryタグと、このcolumnSetタグの command
       が同じ場合のみ、実行されます。
       処理方法は、action で指定します。

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

         ●形式：<og:entry command="…">
                     <og:setColumn
                         command   ="…"          : entryタグのcommandと一致する場合に実行
                         columnId  ="…"          : 処理を行うカラムＩＤを指定(必須,複数指定可)
                         action    ="…"          : 処理方法を指定
                         value     ="…"          : 設定する値を指定(action="TBLSET"のみ[カラム名]使用可能)
                         conditionKey  ="…"      : 条件判定するカラムＩＤを指定(初期値は columnId )
                         conditionList ="…"      : 条件判定する値のリストを、"|"で区切って登録(初期値は、無条件)
                     />
                 </og:entry>
         ●body：なし

         ●Tag定義：
           <og:columnSet
               command            【TAG】コマンド (INSERT/COPY/MODIFY/DELETE/ENTRY/CHANGE/RESET/ALLRESET/ALLACTION/RESETDATA/INSERTONE/REALDELETE/REQENTRY)を設定します
               columnId         ○【TAG】カラムＩＤをセットします(複数指定時は、CSV形式で設定する)(必須)。
               value              【TAG】値をセットします
               action             【TAG】アクション(DEFAULT/CLEAR/ADD/SET/NULLSET/LOWER/UPPER/COPY/TBLSET/TBLNULLSET/WRTCTRL/DBMENU/REQSET/SEQSET)をセットします
               conditionKey       【TAG】条件判定するカラムＩＤを指定します(初期値は columnId )
               conditionList      【TAG】条件判定する値のリストを、"|"で区切って登録します(初期値:無条件)
               caseKey            【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) 5.7.7.2 (2014/06/20)
               caseVal            【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) 5.7.7.2 (2014/06/20)
               caseNN             【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない) 5.7.7.2 (2014/06/20)
               caseNull           【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) 5.7.7.2 (2014/06/20)
               caseIf             【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない)
               debug              【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false)
           />

         ●使用例
            <og:entry command="{@command}"  >
                <og:columnSet command="{@command}" columnId="ECNO"   action="CLEAR" />
                <og:columnSet command="{@command}" columnId="JYOKYO" action="SET" value="1" />
            </og:entry>

            <og:entry command="MODIFY" rows="1" >
                <og:columnSet command="MODIFY" columnId="key" action="TBLSET" value ="[key][lang]"/>
            </og:entry>

            command属性 は、entryタグのcommand属性と同一の場合のみ、処理します。
            [command属性]
              INSERT     新規
              COPY       複写
              MODIFY     変更
              DELETE     削除
              ENTRY      エントリー
              CHANGE     チェンジ
              RESET      リセット
              ALLRESET   全件リセット
              ALLACTION  オールアクション
              RESETDATA  リセットデータ
              INSERTONE  新規(1行のみ)
              REALDELETE 物理削除
              REQENTRY   リクエスト変数設定

            [action属性]
              DEFAULT カラムリソースで定義した初期値をセットします。
              CLEAR   値をクリア(ゼロストリング "" )します。
              ADD     現在の値を ＋１ します。  0 ⇒ 1 , A ⇒ B , 9 ⇒ 10。value属性と併用すれば、指定の値を加算できます。
              SET     value で設定した値を 新しい値として登録します。
              NULLSET 元の値が NULL の場合だけ、value で設定した新しい値を登録します。
              LOWER   小文字に変換します。
              UPPER   大文字に変換します。
              COPY    value にコピー元のカラムIDをセットすれば、その値を代入します。
              TBLSET  DBTableModel の内容を取り込んで指定の columnId カラムに設定します。
                      [カラム名] で指定できます。
                      また、これは文字列を解析して、 value を作成しますので,文字列連結等に使用できます。
              TBLNULLSET 元の値が NULL の場合だけ、TBLSETを実行します。	 6.9.9.0 (2018/08/20) 追加
              WRTCTRL writableControl を使用したカラムデータの先頭アンダーバーを削除します。
              DBMENU  DBMENUでパラメータ設定(コロン連結文字)を使用したカラムデータの先頭データのみにします。
              REQSET  valueで指定したカラムの値をキーに、リクエスト変数から値を取出し、セットします。
              SEQSET  valueの初期値を利用して、１レコードごとに、＋１した値をセットします。
              PREFIX  valueの値を後ろから検索し、指定のカラム値の前半部分を取得します(記号は含みません)。
              SUFIX   valueの値を後ろから検索し、指定のカラム値の後半部分を取得します(記号は含みません)。
              その他  カラムのDBType の valueAction メソッドを呼び出します。自由に設定可能です。

  機能分類
    画面登録
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### フィールドのサマリー

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

      `BR, BUFFER_MIDDLE, CR`

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

  - ### コンストラクタのサマリー

    コンストラクタ
    コンストラクタと説明
    `ColumnSetTag()` デフォルトコンストラクター

  - ### メソッドのサマリー

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `int` | `doStartTag()` Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
    `protected void` | `release2()` タグリブオブジェクトをリリースします。
    `void` | `setAction(java.lang.String action)` 【TAG】アクション(DEFAULT/CLEAR/ADD/SET/NULLSET/LOWER/UPPER/COPY/TBLSET/TBLNULLSET/WRTCTRL/DBMENU/REQSET/SEQSET/PREFIX/SUFIX)をセットします。
    `void` | `setColumnId(java.lang.String clmid)` 【TAG】カラムＩＤをセットします(複数指定時は、CSV形式で設定する)。
    `void` | `setCommand(java.lang.String command)` 【TAG】コマンド (INSERT,COPY,MODIFY,DELETE,ENTRY,CHANGE,RESET,ALLACTION)を設定します。
    `void` | `setConditionKey(java.lang.String key)` 【TAG】条件判定するカラムＩＤを指定します(初期値:null)。
    `void` | `setConditionList(java.lang.String list)` 【TAG】条件判定する値のリストを、"|"で区切って登録します(初期値:無条件)。
    `void` | `setStrictCheck(java.lang.String strict)` 【TAG】(通常は使いません)カラムＩＤが存在しないときに無視するかどうかを指定します(初期値:true)。
    `void` | `setValue(java.lang.String value)` 【TAG】値をセットします。
    `java.lang.String` | `toString()` このオブジェクトの文字列表現を返します。

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

      `add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, doAfterBody, doCatch, doEndTag, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsg, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getSumRequestValue, 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`

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

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

    - #### ColumnSetTag

          public ColumnSetTag()

      デフォルトコンストラクター
      変更履歴:
        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)
      変更履歴:
        3.6.0.6 (2004/10/22) columnNo に伴なう削除, 5.7.7.2 (2014/06/20) caseKey,caseVal,caseNN,caseNull 属性を追加

    - #### release2

          protected void release2()

      タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
      オーバーライド:
        `release2` クラス内 `CommonTagSupport`
      変更履歴:
        2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加, 3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。, 3.6.0.6 (2004/10/22) columnNo に伴なう変更

    - #### setCommand

          public void setCommand(java.lang.String command)

      【TAG】コマンド (INSERT,COPY,MODIFY,DELETE,ENTRY,CHANGE,RESET,ALLACTION)を設定します。
      パラメータ:
        `command` - コマンド
      関連項目:
        コマンド定数
      説明:
        上位の EntryTag のコマンドと一致した場合のみ、処理されます。 ここでは、コマンド文字列の整合性チェックは行っていません。

    - #### setValue

          public void setValue(java.lang.String value)

      【TAG】値をセットします。
      パラメータ:
        `value` - 値
      説明:
        設定する値をセットします。 曖昧検索可能フィールド(aimai)の影響で、パラメータに、"%" がくるので、前後の "%" を削除します。 今は、"%" を前後にセットする方法は、ありません(無条件削除のみ)。
      変更履歴:
        6.7.4.1 (2017/02/17) 曖昧検索可能フィールドで、"%" がそのままセットされてしまうため、削除します。

    - #### setAction

          public void setAction(java.lang.String action)

      【TAG】アクション(DEFAULT/CLEAR/ADD/SET/NULLSET/LOWER/UPPER/COPY/TBLSET/TBLNULLSET/WRTCTRL/DBMENU/REQSET/SEQSET/PREFIX/SUFIX)をセットします。
      パラメータ:
        `action` - アクション文字列
      関連項目:
        アクション定数
      説明:
        ここでは、アクション文字列の整合性チェックを行っておりません。 DEFAULT カラムリソースで定義した初期値をセットします。 CLEAR 値をクリア(ゼロストリング "" )します。 ADD 現在の値を ＋１ します。 0 ⇒ 1 , A ⇒ B , 9 ⇒ 10。value属性と併用すれば、指定の値を加算できます。 SET value で設定した値を 新しい値として登録します。 NULLSET 元の値が NULL の場合だけ、value で設定した新しい値を登録します。 LOWER 小文字に変換します。 UPPER 大文字に変換します。 COPY value にコピー元のカラムIDをセットすれば、その値を代入します。 TBLSET DBTableModel の内容を取り込んで指定の columnId カラムに設定します。[カラム名] で指定できます。 TBLNULLSET 元の値が NULL の場合だけ、TBLSETを実行します。 6.9.9.0 (2018/08/20) 追加 WRTCTRL writableControl を使用したカラムデータの先頭アンダーバーを削除します。 DBMENU DBMENUでパラメータ設定(コロン連結文字)を使用したカラムデータの先頭データのみにします。 REQSET valueで指定したカラムの値をキーに、リクエスト変数から値を取出し、セットします。 SEQSET valueの初期値を利用して、１レコードごとに、＋１した値をセットします。 PREFIX valueの値を後ろから検索し、指定のカラム値の前半部分を取得します(記号は含みません)。 SUFIX valueの値を後ろから検索し、指定のカラム値の後半部分を取得します(記号は含みません)。 その他 カラムのDBType の valueAction メソッドを呼び出します。自由に設定可能です。

    - #### setColumnId

          public void setColumnId(java.lang.String clmid)

      【TAG】カラムＩＤをセットします(複数指定時は、CSV形式で設定する)。
      パラメータ:
        `clmid` - カラムＩＤ
      説明:
        処理を適用するカラムＩＤを指定します。 全く同じ内容を設定する場合には、カラム名をCSV形式で 複数指定することが可能です。
      変更履歴:
        3.6.0.6 (2004/10/22) columnNo に伴なう変更

    - #### setConditionKey

          public void setConditionKey(java.lang.String key)

      【TAG】条件判定するカラムＩＤを指定します(初期値:null)。
      パラメータ:
        `key` - カラムＩＤ
      関連項目:
        `setConditionList( String )`
      説明:
        指定のカラムＩＤの値と、conditionList の値を比較して、 存在する場合は、action処理を実行します。 例えば、初期値設定(action="DEFAULT")で、値が "0" の場合だけ適用するような ケースに使用できます。 指定しない場合は、columnId と同じキーになります。 注意：columnId は、CSV形式で複数同時に指定できます。その場合は、 conditionKey には、複数設定する機能はありませんので、全カラムに 同一カラムを使用する場合は、conditionKey に値を設定できます。 値を設定しない場合は、自動的に、columnId と同一になります。
      変更履歴:
        3.6.0.6 (2004/10/22) 新規追加

    - #### setConditionList

          public void setConditionList(java.lang.String list)

      【TAG】条件判定する値のリストを、"|"で区切って登録します(初期値:無条件)。
      パラメータ:
        `list` - 条件判定する値("|"区切)
      関連項目:
        `setConditionKey( String )`
      説明:
        conditionKey とペアで指定します。ここには、カラムの設定値のリストを 指定することで、複数条件(ＯＲ結合)での比較を行い、リストにカラム値が 存在する場合のみ、action処理を実行します。 設定しない場合は、無条件に実行します。
      変更履歴:
        3.6.0.6 (2004/10/22) 新規追加

    - #### setStrictCheck

          public void setStrictCheck(java.lang.String strict)

      【TAG】(通常は使いません)カラムＩＤが存在しないときに無視するかどうかを指定します(初期値:true)。
      パラメータ:
        `strict` - 厳格処理 [true:厳格に処理する/false:エラーを無視する]
      説明:
        カラムセットする場合は、DBTableModel に存在するカラムに対してのみ、 処理を適用するべきで、通常存在しないカラムを使用した場合は、Exception が throw されます。(strictCheck="true" 初期値の動作です。) ところが、動的テーブル検索などでカラムが不特定な場合、DBTableModel に 存在しない場合に、無視したい場合があります。その場合は、strictCheck="false" に設定すると、カラムが存在しない場合は、エラーにせず、無視します。 初期値は、true:厳格に処理する です。
      変更履歴:
        4.0.0.0 (2006/09/31) 新規追加

    - #### toString

          public java.lang.String toString()

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

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