パッケージ 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, getSubstrAttri, getSumRequestValue, getTagName, getTransaction, getUser, getUserEditInfo, getUserInfo, getValsAttri, 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を返しません