    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 *      &lt;og:tbody
    032 *         rowspan       = &quot;表示データを作成する場合のフォーマットの行数(rowspan)をセットします(初期値:2)(必須)。&quot;
    033 *         noClass       = &quot;カラムのクラス名(VERCHAR2,NUMBER など)を使用するかどうか[true/false]を指定します(初期値:false)。&quot;
    034 *         usableKey     = &quot;フォーマットの使用可否を判断するキーとなるカラム名を指定します。&quot;
    035 *         usableList    = &quot;フォーマットの使用可否を判断する文字列リストを指定します(初期値:&quot;1&quot;)。&quot;
    036 *      &gt; ... Body ...
    037 *      &lt;/og:tbody&gt;
    038 * ●body：あり(EVAL_BODY_BUFFERED:BODYを評価し、{&#064;XXXX} を解析します)
    039 *
    040 * ●Tag定義：
    041 *   &lt;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 *   &gt;   ... Body ...
    055 *   &lt;/og:tbody&gt;
    056 *
    057 * ●使用例
    058 *      &lt;og:view
    059 *          viewFormType = &quot;HTMLCustomTable&quot;
    060 *          command      = &quot;{&#064;command}&quot;
    061 *          writable     = &quot;false&quot;
    062 *          startNo      = &quot;{&#064;startNo}&quot;
    063 *          pageSize     = &quot;{&#064;pageSize}&quot;
    064 *          rowspan      = &quot;1&quot;
    065 *          numberType   = &quot;delete&quot;
    066 *      &gt;
    067 *          &lt;og:thead rowspan=&quot;1&quot; &gt;
    068 *              &lt;tr&gt;&lt;td&gt;&amp;amp;nbsp;&lt;/td&gt;&lt;td&gt;[VALUENAME]&lt;/td&gt;&lt;td&gt;[DESCRIPTION]&lt;/td&gt;&lt;/tr&gt;
    069 *          &lt;/og:thead&gt;
    070 *
    071 *          &lt;og:tbody usableKey=&quot;SEQ&quot; usableList=&quot;1&quot; rowspan=&quot;1&quot;&gt;
    072 *              &lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;amp;lt;[TAGNAME2]&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
    073 *          &lt;/og:tbody&gt;
    074 *
    075 *          &lt;og:tbody usableKey=&quot;DATAKEY&quot; usableList=&quot;0&quot; rowspan=&quot;1&quot;&gt;
    076 *              &lt;tr&gt;&lt;td&gt;&amp;amp;nbsp;&amp;amp;nbsp;&lt;/td&gt;&lt;td&gt;[VALUENAME]&lt;/td&gt;
    077 *                  &lt;td&gt;= &quot;[DESCRIPTION]&quot;&lt;/td&gt;&lt;/tr&gt;
    078 *          &lt;/og:tbody&gt;
    079 *
    080 *          &lt;og:tbody usableKey=&quot;DATAKEY&quot; usableList=&quot;1&quot; rowspan=&quot;2&quot;&gt;
    081 *              &lt;tr&gt;&lt;td&gt;&amp;amp;gt;&lt;/td&gt;&lt;td&gt;... Body ...&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
    082 *              &lt;tr&gt;&lt;td colspan=&quot;3&quot;&gt;&amp;amp;lt;/[TAGNAME2]&amp;amp;gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
    083 *          &lt;/og:tbody&gt;
    084 *
    085 *          &lt;og:tbody usableKey=&quot;DATAKEY&quot; usableList=&quot;2&quot; rowspan=&quot;1&quot;&gt;
    086 *              &lt;tr&gt;&lt;td&gt;/&amp;amp;gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;
    087 *          &lt;/og:tbody&gt;
    088 *      &lt;/og:view&gt;
    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}