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

# クラス ColumnSetTag

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

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

public class ColumnSetTag extends CommonTagSupport
検索結果の DBTableModelオブジェクトのカラム値を操作(設定、変換、ADDなど)するタグです。 entry タグの子タグとして使用します。entryタグと、このcolumnSetタグの command が同じ場合のみ、実行されます。 処理方法は、action で指定します。

関連項目:
  - 直列化された形式
機能分類
  画面登録
形式ｻﾝﾌﾟﾙ:
  ●形式：<og:entry command="…"> <og:columnSet 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/RAWSET)を設定します 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 リクエスト変数設定 RAWSET DBTableModelに直接セット 7.2.9.0 (2020/10/12) [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 メソッドを呼び出します。自由に設定可能です。
導入されたバージョン:
  JDK5.0,

- ## フィールドの概要

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

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

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

- ## メソッドの概要

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

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

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

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

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

  - ### setValue

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

  - ### setAction

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

  - ### setConditionKey

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

  - ### setConditionList

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

  - ### setStrictCheck

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

  - ### toString

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