001/*
002 * Copyright (c) 2009 The openGion Project.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 *     http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
013 * either express or implied. See the License for the specific language
014 * governing permissions and limitations under the License.
015 */
016package org.opengion.hayabusa.taglib;
017
018import org.opengion.hayabusa.html.FormatterType;
019
020/**
021 * 検索結果に対してボディフォーマットを変更するタグです。
022 *
023 * viewタグで、viewFormType に、HTMLFormatTable や HTMLCustomTable を使用する場合、
024 * ボディフォーマットを指定できます。
025 * HTMLCustomTable では、ボディフォーマットを、複数指定することが可能です。
026 *
027 * 5.7.6.3 (2014/05/23) keyBreakClm 属性追加
028 *
029 * @og.formSample
030 * ●形式:
031 *      <og:tbody
032 *         rowspan       = "表示データを作成する場合のフォーマットの行数(rowspan)をセットします(初期値:2)(必須)。"
033 *         noClass       = "カラムのクラス名(VERCHAR2,NUMBER など)を使用するかどうか[true/false]を指定します(初期値:false)。"
034 *         usableKey     = "フォーマットの使用可否を判断するキーとなるカラム名を指定します。"
035 *         usableList    = "フォーマットの使用可否を判断する文字列リストを指定します(初期値:"1")。"
036 *      > ... Body ...
037 *      </og:tbody>
038 * ●body:あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します)
039 *
040 * ●Tag定義:
041 *   <og:tbody
042 *       rowspan          ○【TAG】表示データを作成する場合のフォーマットの行数(rowspan)をセットします(初期値:2)(必須)。
043 *       noClass            【TAG】カラムのクラス名(VERCHAR2,NUMBER など)を使用するかどうか[true/false]を指定します(初期値:false)
044 *       usableKey          【TAG】フォーマットの使用可否を判断するキーとなるカラム名を指定します
045 *       usableList         【TAG】フォーマットの使用可否を判断する文字列リストを指定します(初期値:"1")
046 *       keyBreakClm        【TAG】指定したカラムの値が、キーブレイクした場合、このタグを使用します(初期値:null)。
047 *       useTrCut           【TAG】先頭trタグを削除するかどうか[true/false]を指定します(初期値:true)
048 *       caseKey            【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null)
049 *       caseVal            【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null)
050 *       caseNN             【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない)
051 *       caseNull           【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない)
052 *       caseIf             【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない)
053 *       debug              【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false)
054 *   >   ... Body ...
055 *   </og:tbody>
056 *
057 * ●使用例
058 *      <og:view
059 *          viewFormType = "HTMLCustomTable"
060 *          command      = "{@command}"
061 *          writable     = "false"
062 *          startNo      = "{@startNo}"
063 *          pageSize     = "{@pageSize}"
064 *          rowspan      = "1"
065 *          numberType   = "delete"
066 *      >
067 *          <og:thead rowspan="1" >
068 *              <tr><td> </td><td>[VALUENAME]</td><td>[DESCRIPTION]</td></tr>
069 *          </og:thead>
070 *
071 *          <og:tbody usableKey="SEQ" usableList="1" rowspan="1">
072 *              <tr><td colspan="2"><[TAGNAME2]</td><td></td></tr>
073 *          </og:tbody>
074 *
075 *          <og:tbody usableKey="DATAKEY" usableList="0" rowspan="1">
076 *              <tr><td>  </td><td>[VALUENAME]</td>
077 *                  <td>= "[DESCRIPTION]"</td></tr>
078 *          </og:tbody>
079 *
080 *          <og:tbody usableKey="DATAKEY" usableList="1" rowspan="2">
081 *              <tr><td>></td><td>... Body ...</td><td></td><td></td></tr>
082 *              <tr><td colspan="3"></[TAGNAME2]></td><td></td><td></td></tr>
083 *          </og:tbody>
084 *
085 *          <og:tbody usableKey="DATAKEY" usableList="2" rowspan="1">
086 *              <tr><td>/></td><td></td><td></td><td></td></tr>
087 *          </og:tbody>
088 *      </og:view>
089 *
090 * @og.rev 3.5.4.0 (2003/11/25) TFormatTag のサブクラスとして再定義。
091 * @og.group 画面部品
092 *
093 * @version  4.0
094 * @author       Kazuhiko Hasegawa
095 * @since    JDK5.0,
096 */
097public class TbodyTag extends TFormatImpl {
098        /** このプログラムのVERSION文字列を設定します。   {@value} */
099        private static final String VERSION = "6.4.2.0 (2016/01/29)" ;
100        private static final long serialVersionUID = 642020160129L ;
101
102        /**
103         * デフォルトコンストラクター
104         *
105         * @og.rev 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
106         */
107        public TbodyTag() { super(); }          // これも、自動的に呼ばれるが、空のメソッドを作成すると警告されるので、明示的にしておきます。
108
109        /**
110         * このフォーマットのタイプを返します。
111         *
112         * タイプは、"head/body/foot" の中から、指定します。
113         *
114         * @og.rev 3.5.4.0 (2003/11/25) 新規追加
115         *
116         * @return      このフォーマットのタイプを返します。
117         */
118        @Override
119        protected FormatterType getType() {
120                return FormatterType.TYPE_BODY;
121        }
122}