org.opengion.hayabusa.taglib

## クラス ColumnMarkerTag

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

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

      public class ColumnMarkerTag
      extends CommonTagSupport

  検索結果のカラム表示に対して様々な属性を付加(マーキング)するタグです(参照:viewMarker)。 このタグは、カラム毎にマーキングするタグです。親タグとして、viewMarker を 使用する必要があります。 このタグでは、BODY部に指定した値を、レンデラーとして使用します。通常の文字は、 そのままで、{@XXXX}で指定した変数は、リクエスト値を設定します。 [XXXX]で指定した値は、検索結果のDBTableModelの値を行毎に割り当てます。 マーカー指定の有無(マーカーするかしないか)は、onMark属性と、markList属性で 指定します。markList属性に指定の値に、onMark属性に設定した値が存在する場合、 マーカーされます。 このmarkList属性には、"1" と "true"が初期設定 されているため、onMark属性に"1" または "true"を指定すれば、全行マークされます。 また、どちらの属性も、{@XXXX} や、[XXXX]変数が使用できます。[XXXX]変数では、 行毎に、onMark属性や、markList属性を設定できる為、(通常はどちらか固定) 行毎の マーカー指定の有無を指定できます。 [XXXX]変数でカラム名の先頭に$を付加した場合(例:[$XXXX])は、元の値がURLエンコード されて返されます。 ※ 現段階では、viewMarker がカラム名をキーにcolumnMarkerオブジェクトを 管理している為、行毎にマークの有無は指定できますが、マークを切り替える 使い方が出来ません。
  関連項目:
    直列化された形式
  形式サンプル:

         ●形式：<og:columnMarker column="･･･" ･･･ > ･･･ </og:columnMarker >
         ●body：あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します)

         ●Tag定義：
           <og:columnMarker
               column             【TAG】マーク処理を行うカラム名を指定します
               columns            【TAG】マーク処理を行うカラム名をカンマ区切り(CSV形式)で複数指定します
               onMark             【TAG】マークを処理する(true or 1)/処理しない(false or 0)の設定を指定します(初期値:true)
               markList           【TAG】処理するマークを含むような文字列を、"|"区切りの文字列で指定します(初期値:"true|TRUE|1")
               instrVals          【TAG】スペースで区切られた複数の値について、マークします
               useFormatDeco      【TAG】[$XXXX],[#XXXX]機能を有効にします(初期値:false)
               debug              【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false)
           >   ... Body ...
           </og:columnMarker>

         ●使用例
             商品CD２(CDSYHN02)は赤字で表示する。
             商品CD３(CDSYHN03)は-----と表示する。
             <og:viewMarker command="{@command}">
                 <og:columnMarker column="CDSYHN02" onMark="true" >
                     <font color='red'>[VCDSYHN02]</font>
                 </og:columnMarker>
                 <og:columnMarker column="CDSYHN03" onMark="[XXXX]" markList="[YYYY]" >
                     <CENTER><-----</CENTER>
                 </og:columnMarker>
             </og:viewMarker>

  機能分類
    画面表示
  バージョン
    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`

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

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

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

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `int` | `doAfterBody()` Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
    `int` | `doStartTag()` Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
    `protected void` | `release2()` タグリブオブジェクトをリリースします。
    `void` | `setColumn(java.lang.String clm)` 【TAG】マーク処理を行うカラム名を指定します。
    `void` | `setColumns(java.lang.String clms)` 【TAG】マーク処理を行うカラム名をカンマ区切り(CSV形式)で複数指定します。
    `void` | `setInstrVals(java.lang.String val)` 【TAG】スペースで区切られた複数の値について、マークします。
    `void` | `setMarkList(java.lang.String list)` 【TAG】処理するマークを含むような文字列を、"|"区切りの文字列で指定します(初期値:"true|TRUE|1")。
    `void` | `setOnMark(java.lang.String flag)` 【TAG】マークを処理する(true or 1)/処理しない(false or 0)の設定を指定します(初期値:true)。
    `void` | `setUseFormatDeco(java.lang.String val)` 【TAG】[$XXXX],[#XXXX]機能を有効にするかどうか指定します(初期値:"false")。
    `java.lang.String` | `toString()` このオブジェクトの文字列表現を返します。

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

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

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

    - #### ColumnMarkerTag

          public ColumnMarkerTag()

  - ### メソッドの詳細

    - #### doStartTag

          public int doStartTag()

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

    - #### doAfterBody

          public int doAfterBody()

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

        3.1.1.0 (2003/03/28) ボディの内容を取得する処理を、CommonTagSupport で行う。
        3.5.2.0 (2003/10/20) markList属性を追加
        3.8.8.1 (2007/01/06) instrVals属性を追加
        4.0.0.0 (2005/08/31) 同一カラムの複数登録を許可します。
        5.6.3.0 (2013/04/01) useFormatDeco属性を追加（[$XXXX],[#XXXX]機能を有効にするかどうか）

    - #### 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.5.2.0 (2003/10/20) markList属性を追加
        3.8.8.1 (2007/01/06) instrVals属性を追加
        5.6.3.0 (2013/04/01) useFormatDeco属性を追加

    - #### setColumn

          public void setColumn(java.lang.String clm)

      【TAG】マーク処理を行うカラム名を指定します。
      パラメータ:
        `clm` - カラム名
      説明:

             このカラム名のTableModelに対して、マークを処理します。

    - #### setColumns

          public void setColumns(java.lang.String clms)

      【TAG】マーク処理を行うカラム名をカンマ区切り(CSV形式)で複数指定します。
      パラメータ:
        `clms` - マーク処理を行うカラム名(CSV形式)
      説明:

             この複数のカラム名のTableModelに対して、 マークを処理します。
             カラム名は、カンマ区切りで複数指定することができます。その場合は、
             指定のカラムに対して、すべて同一の処理を行います。
             分解方法は、通常のパラメータ取得後に、CSV分解します。

      変更履歴:

        3.5.6.2 (2004/07/05) 先に配列に分解してからリクエスト変数の値を取得
        3.8.8.5 (2007/03/09) 通常のパラメータ取得後に、CSV分解に戻します。

    - #### setOnMark

          public void setOnMark(java.lang.String flag)

      【TAG】マークを処理する(true or 1)/処理しない(false or 0)の設定を指定します(初期値:true)。
      パラメータ:
        `flag` - マークの処理 [true,1:処理する/それ以外:処理しない]
      説明:

             マークを処理する場合は、"true"(または "1")
             処理しない場合は, "true以外"(または "0")をセットします。
             初期値は、 "true"(マークを処理する)です。
             さらに、[カラム名] で、動的にカラムの値で、マークをする、しないを
             選ぶ事が可能になります。値は、"true"(または "1") で、マークします。
             追記 3.5.2.0 (2003/10/20)：markList属性に、処理対象文字列郡を指定できます。
             これにより、マークを処理するかどうかの判断が、true,1 以外にも使用できるようになりました。

      変更履歴:

        3.5.0.0 (2003/09/17) onMark に、[カラム名] の値をセットできるように修正。

    - #### setMarkList

          public void setMarkList(java.lang.String list)

      【TAG】処理するマークを含むような文字列を、"|"区切りの文字列で指定します(初期値:"true|TRUE|1")。
      パラメータ:
        `list` - 処理するマーク(indexOf による含む/含まない判定)
      説明:

             markListで与えられた文字列に、onMark文字列(大文字/小文字の区別あり)が
             含まれていれば、処理します。
             例えば、"A","B","C" という文字列が、onMark で指定された
             場合に処理するようにしたい場合は、"A|B|C" をセットします。
             markList には、[カラム名]指定が可能です。
             初期値は、 "true|TRUE|1"です。

      変更履歴:

        3.5.2.0 (2003/10/20) 新規追加

    - #### setInstrVals

          public void setInstrVals(java.lang.String val)

      【TAG】スペースで区切られた複数の値について、マークします。
      パラメータ:
        `val` - スペースで区切られた複数の値
      関連項目:
        `SqlAndTag.setInstrVals( String )`
      説明:

             最終的に作成された表示結果に対して、引数の文字列を含む箇所に、
             引数文字列 文字列と置き換えます。
             0 の部分は、引数文字列の現れた順番を指定します。
             これにより、部分検索された箇所のみにマークすることが可能です。
             部分文字列は、スペースで区切り、それぞれ独立した形でマーク
             されますので、検索エンジン等で検索したキャッシュ表示のような
             効果を持たすことが可能になります。

    - #### setUseFormatDeco

          public void setUseFormatDeco(java.lang.String val)

      【TAG】[$XXXX],[#XXXX]機能を有効にするかどうか指定します(初期値:"false")。
      パラメータ:
        `val` - [$XXXX],[#XXXX]機能を有効にするかどうか(true:有効/false:無効)
      説明:

             カラムのフォーマット処理で、[$XXXX],[#XXXX]などの就職記号を付けると、
             データでない値を出力できます。
             [$XXXX] は、レンデラー処理された文字列を、[#XXXX]は、ラベルリソースを出力します。
             この、columnMarker のデフォルトでは、[$XXXX]は、URLエンコード処理された結果が
             返されます。他の処理(viewタグのボディ部等)とは異なる処理ですが、互換性のため、
             [$XXXX]のレンデラー処理は、行われません。
             この、属性で、"true" を設定すれば、他のフォーマット処理と同じ処理が実行されます。
             初期値は、互換性を考慮し、"false" になっています。

      変更履歴:

        5.6.3.0 (2013/04/01) 新規追加

    - #### toString

          public java.lang.String toString()

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

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