クラス 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 ="…" : 処理を行うカラムIDを指定(必須,複数指定可) action ="…" : 処理方法を指定 value ="…" : 設定する値を指定(action="TBLSET"のみ[カラム名]使用可能) conditionKey ="…" : 条件判定するカラムIDを指定(初期値は 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】カラムIDをセットします(複数指定時は、CSV形式で設定する)(必須)。 value 【TAG】値をセットします action 【TAG】アクション(DEFAULT/CLEAR/ADD/SET/NULLSET/LOWER/UPPER/COPY/TBLSET/TBLNULLSET/WRTCTRL/DBMENU/REQSET/SEQSET)をセットします conditionKey 【TAG】条件判定するカラムIDを指定します(初期値は 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 現在の値を +1 します。 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の初期値を利用して、1レコードごとに、+1した値をセットします。 PREFIX valueの値を後ろから検索し、指定のカラム値の前半部分を取得します(記号は含みません)。 SUFIX valueの値を後ろから検索し、指定のカラム値の後半部分を取得します(記号は含みません)。 その他 カラムのDBType の valueAction メソッドを呼び出します。自由に設定可能です。
    バージョン
    4.0
    作成者
    Kazuhiko Hasegawa
    導入されたバージョン:
    JDK5.0,
    • コンストラクタの詳細

      • 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 現在の値を +1 します。 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の初期値を利用して、1レコードごとに、+1した値をセットします。 PREFIX valueの値を後ろから検索し、指定のカラム値の前半部分を取得します(記号は含みません)。 SUFIX valueの値を後ろから検索し、指定のカラム値の後半部分を取得します(記号は含みません)。 その他 カラムのDBType の valueAction メソッドを呼び出します。自由に設定可能です。
      • setColumnId

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

        public void setConditionKey​(java.lang.String key)
        【TAG】条件判定するカラムIDを指定します(初期値:null)。
        パラメータ:
        key - カラムID
        関連項目:
        setConditionList( String )
        説明:
        指定のカラムIDの値と、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 とペアで指定します。ここには、カラムの設定値のリストを 指定することで、複数条件(OR結合)での比較を行い、リストにカラム値が 存在する場合のみ、action処理を実行します。 設定しない場合は、無条件に実行します。
        変更履歴:
        3.6.0.6 (2004/10/22) 新規追加
      • setStrictCheck

        public void setStrictCheck​(java.lang.String strict)
        【TAG】(通常は使いません)カラムIDが存在しないときに無視するかどうかを指定します(初期値: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を返しません