org.opengion.hayabusa.taglib

## クラス ViewTimeTableParamTag

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

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

      public class ViewTimeTableParamTag
      extends ViewParamImpl

       viewタグの viewFormType が HTMLTimeTable の場合にパラメータを設定します。

       時間軸を持つタイムテーブルの表示を行う、ViewForm_HTMLTimeTable クラスに対して、
       各種パラメータを設定します。
       パラメータが設定されていない場合は、ViewForm_HTMLTimeTable の初期値が使用されます。
       (パラメータを使用するには、viewタグのuseParam 属性をtrueに設定する必要があります。)

       SELECT文は、日付、キー、備考、開始時刻、終了時刻、リンクが、必須項目で、この並び順は、
       完全に固定です。よって、カラム位置を指定する必要はありませんが、SELECT文を自由に
       設定することも出来ませんので、ご注意ください。
       この固定化に伴い、WRITABLE 指定も使用できません。
       なお、日付、キー、備考 に関しては、columnDisplay 属性で、表示の ON/OFF 制御は可能です。
       また、日付ブレイク、キーブレイクの設定で、カラム自体をテーブルの外に出すことが可能です。
       (キーと備考はセットになっています。)

       タイムテーブルが空きの場合のリンクは、ViewTimeTableParam.NULL_LINK_CLM_ID で指定します。
       (ViewTimeTableParam の nullLinkColumn 属性)
       指定しない場合は、空きのリンクは作成されません。
       このリンクは、特殊で、引数に、パラメータを追加できますが、"($1)"、"($2)" で指定します。
       この($1)、($2)は、開始時刻、終了時刻がセットされますが、SELECT文の固定カラムと同じ
       並び順ですが、DBTableModelの値を設定しているわけではありません。
       空きの場合は、データ自体が存在しない場合と、日付、キー のみが 外部結合で生成された
       レコードが実際に存在する場合がありますが、外部結合で生成されたレコードには、
       開始時刻、終了時刻はありません。($1) と($2)には、それぞれ、最小開始時刻と最大終了時刻を
       セットします。

       例として、&TMSTART=($1)&TMEND=($2) という文字列の ($*) 部分を解析して割当ます。

       各属性は、{@XXXX} 変数が使用できます。
       これは、ServletRequest から、XXXX をキーに値を取り出し,この変数に割り当てます。
       つまり、このXXXXをキーにリクエストすれば、この変数に値をセットすることができます。

       http://localhost/query.jsp?KEY1=VLA1&KEY2=VAL2

       のようなリクエストで、{@KEY1} とすれば、 VAL1 がセットされます。

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

         ●形式：<og:timeTableParam minStartTime="･･･" ･･･ />
         ●body：なし

         ●Tag定義：
           <og:timeTableParam
               minStartTime       【TAG】タイムテーブルの開始時刻(含む)をセットします(初期値:0800)
               maxEndTime         【TAG】タイムテーブルの終了時刻(含まない)をセットします(初期値:2100)
               timeInterval       【TAG】タイムテーブルのインターバル時間をセットします(初期値:30)
               nullLinkColumn     【TAG】タイムテーブルが空きの場合のリンクを指定しているカラム名をセットします
               useDyBreak         【TAG】日付でブレーク処理を行うかどうかを指定します(初期値:true)
               tdClassColumn      【TAG】タイムテーブルにデータを入れるTDタグにclass属性を付与する場合のカラム名をセットします
               useBookingMerge    【TAG】同一日付でブッキング時にマージ処理を行うかどうかを指定します(初期値:false)
           />

         ●使用例
             ViewFormTag の viewFormType が、HTMLTimeTable の場合に使用します。
             useParam 属性を設定しておかないと、使用されません。
             <og:view
                 viewFormType = "HTMLTimeTable"
                 command      = "{@command}"
                 startNo      = "0"
                 pageSize     = "20"
                 useParam     = "true"
             >
                 <og:timeTableParam
                     minStartTime   = "0800"       : タイムテーブルの開始時刻(含む)をセットします(初期値:0800)
                     maxEndTime     = "2100"       : タイムテーブルの終了時刻(含まない)をセットします(初期値:2100)
                     timeInterval   = "30"         : タイムテーブルのインターバル時間をセットします(初期値:30)
                     nullLinkColumn = "DYUSE"      : NULL時リンクを作成するベースとなるカラム名
                     tdClassColumn  = "FGCDACTION" : データを入れるTDタグにclass属性を付与する場合のカラム名
                 />
             </og:view >

  変更履歴:

    5.4.0.0 (2011/10/01) 新規追加

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

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

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

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

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `protected String` | `getTagName()` タグの名称を、返します。
    `void` | `setMaxEndTime(String maxEdTime)` 【TAG】タイムテーブルの終了時刻(含まない)をセットします(初期値:2100)。
    `void` | `setMinStartTime(String minStTime)` 【TAG】タイムテーブルの開始時刻(含む)をセットします(初期値:0800)。
    `void` | `setNullLinkColumn(String clm)` 【TAG】タイムテーブルが空きの場合のリンクを指定しているカラム名をセットします。
    `void` | `setTdClassColumn(String clm)` 【TAG】タイムテーブルにデータを入れるTDタグにclass属性を付与する場合のカラム名をセットします。
    `void` | `setTimeInterval(String intval)` 【TAG】タイムテーブルのインターバル時間をセットします(初期値:30)。
    `void` | `setUseBookingMerge(String flag)` 【TAG】同一日付でブッキング時にマージ処理を行うかどうかを指定します(初期値:false)。
    `void` | `setUseDyBreak(String flag)` 【TAG】日付でブレーク処理を行うかどうかを指定します(初期値:true)。

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

      `doEndTag, initParam, putParam, release2, toString`

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

      `add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, 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, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getSumRequestValue, 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`

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

    - #### ViewTimeTableParamTag

          public ViewTimeTableParamTag()

      デフォルトコンストラクター
      変更履歴:

        6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

  - ### メソッドの詳細

    - #### setMinStartTime

          public void setMinStartTime(String minStTime)

      【TAG】タイムテーブルの開始時刻(含む)をセットします(初期値:0800)。
      パラメータ:
        `minStTime` - 開始時刻(含む)
      説明:

             時間軸の書き始めの時刻(自分自身を含む時分４桁)を指定します。
             この時刻は、８:００ なら、"0800" となり、１４:３０ なら、"1430" となります。
             初期値は、"0800" です。

    - #### setMaxEndTime

          public void setMaxEndTime(String maxEdTime)

      【TAG】タイムテーブルの終了時刻(含まない)をセットします(初期値:2100)。
      パラメータ:
        `maxEdTime` - 終了時刻(含まない)
      説明:

             時間軸の最後の時刻(自分自身を含まない時分４桁)を指定します。
             この時刻は、９:００ なら、"0900" となり、１４:３０ なら、"1430" となります。
             初期値は、"2100" です。

    - #### setTimeInterval

          public void setTimeInterval(String intval)

      【TAG】タイムテーブルのインターバル時間をセットします(初期値:30)。
      パラメータ:
        `intval` - インターバル時間
      説明:

             タイムテーブルのインターバル時間とは、時刻の最終単位の事です。
             この時刻は、"30" なら、３０分となります。
             初期値は、"30" です。

      変更履歴:

        5.4.3.7 (2012/01/20) 指定方法の変更。分を数字で指定します。

    - #### setNullLinkColumn

          public void setNullLinkColumn(String clm)

      【TAG】タイムテーブルが空きの場合のリンクを指定しているカラム名をセットします。
      パラメータ:
        `clm` - 空リンク設定カラム名
      説明:

             これは、タイムテーブルが空きの場合のリンクを作成するにあたり、ベースとなるリンクが
             適用されているカラムを指定します。
             このリンクは、特殊で、引数に、パラメータを追加できますが、($1) 等の記号で指定します。
             この($1)、($2)には、開始時刻、終了時刻がセットされますが、SELECT文の
             固定カラムと同じ並び順ですが、DBTableModelの値を設定しているわけではありません。
             空きの場合は、データ自体が存在しない場合がありますが、その場合は、開始時刻、終了時刻は
             ありません。
             その場合は、それぞれ、最小開始時刻と最大終了時刻がセットされます。

             &TMSTART=($1)&TMEND=($2) という文字列の ($*) 部分を解析して割当ます。

             TMSTARTやTMENDは、リンク作成側で自由に指定できます。

             同様の機能は、BODY部にリンクを指定することも可能です。
             この($1)～($4)には、開始時刻、終了時刻、日付、キーがセットされます。

             6amp;TMSTART=($1)&TMEND=($2)&DYUSE=($3)&UNITID=($4) という文字列の ($*) 部分を解析して割当ます。

             BODY と nullLinkColumn が両方とも指定された場合は、nullLinkColumn の設定が優先されます。

    - #### setTdClassColumn

          public void setTdClassColumn(String clm)

      【TAG】タイムテーブルにデータを入れるTDタグにclass属性を付与する場合のカラム名をセットします。
      パラメータ:
        `clm` - class属性付与カラム名
      説明:

             これは、タイムテーブルのリンクや説明を入れるTDに、class属性を付与する場合のカラム名を
             指定します。これにより、TD に色を付けたり、表示の条件を外部から指定できます。
             もっとも一般的な想定用途は、タイムテーブルのデータの種別に応じた色分けです。

      変更履歴:

        5.4.3.7 (2012/01/20) 新規追加

    - #### setUseDyBreak

          public void setUseDyBreak(String flag)

      【TAG】日付でブレーク処理を行うかどうかを指定します(初期値:true)。
      パラメータ:
        `flag` - ブレーク処理 [true:する/false:しない]
      説明:

             日付でブレーク処理を行う場合、日付単位にテーブルが分かれます。
             日付は、テーブルの先頭に、ブレイクした時点で表示されます。
             日付でブレイクするを指定した場合は、自動的に、noDisplay 属性に日付が
             セットされます。
             初期値は、true(日付ブレイクする)です。

    - #### setUseBookingMerge

          public void setUseBookingMerge(String flag)

      【TAG】同一日付でブッキング時にマージ処理を行うかどうかを指定します(初期値:false)。
      パラメータ:
        `flag` - マージ処理 [true:する/false:しない]
      説明:

             日付、キー(人や施設)で予定時刻が重複している場合の処理方法を指定します。
             通常(初期値:false)では、ブッキングデータはレコードを分けて表示させます。
             例えば、人の予定であれば、仮予約や会議招集などのケースで、重複を表示しておき
             利用者本人に決めさせるというケースが考えられます。
             これを、true に設定すると、予定時刻が重複している場合は、マージして、一つの
             予定として表現します。
             初期値は、false(ブッキング時にマージ処理を行わない)です。

      変更履歴:

        5.4.4.2 (2012/02/03) 新規追加

    - #### getTagName

          protected String getTagName()

      タグの名称を、返します。 自分自身のクラス名より、自動的に取り出せないため、このメソッドをオーバーライドします。
      オーバーライド:
        `getTagName` クラス内 `CommonTagSupport`
      戻り値:
        タグの名称
      関連項目:
        `CommonTagSupport.getDocumentLink()`
      このメソッドは、nullを返しません

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