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     */
016    package org.opengion.hayabusa.taglib;
017    
018    import org.opengion.hayabusa.common.HybsSystemException;
019    import org.opengion.fukurou.util.StringUtil;
020    import org.opengion.fukurou.util.TagBuffer;
021    
022    /**
023     * ガントチャートã?繰り返しタグのフォーマットに使用しますã?
024     *
025     * iGanttBar タグは、TDタグの繰返し部に記述することで、å?ã€??ガントã?タスクを作æ?しますã?
026     * これを使用する場合ã?、iGant タグをå?体にä¸?�¤æŒ?®šするå¿?¦�がありますã?
027     *
028     * @og.formSample
029     * ●形式ï¼?lt;og:iGanttBar  ... />
030     * ●body?šなã�?
031     * ●前提:headタグで、adjustEvent="Gantt" を指定してくださいã€?
032     *
033     * ●Tag定義??
034     *   <og:iGanttBar
035     *       type         【TAG】ガント要ç´??タイプï¼?:マイルストã?ン 1:バã? ??å¿??)
036     *       color        【TAG】バーの色?ˆã?イルストã?ンの場合ã?不è¦?¼?
037     *       colorNo      【TAG】バーの色番号でæŒ?®šしまã�?
038     *       src          【TAG】ã?イルストã?ンのアイコン画åƒ?URIより設å®?
039     *       start        【TAG】開始日(YYYYMMDD)、またã?開始時é–?YYYYMMDDHH24MM)
040     *       end          【TAG】終äº?—¥(YYYYMMDD)、またã?終äº?™‚é–?YYYYMMDDHH24MM)
041     *       text         【TAG】ガント要ç´??注釈メãƒ?‚»ージã€?
042     *       href         【TAG】å?力したå?合ã?ガントにリンクを付加しますã?
043     *       target       【TAG】hrefを指定したå?合に付加されるリンクのターゲãƒ?ƒˆ
044     *       barLink      【TAG】hrefで付加されるリンクのç¯?›²にバã?本体を含めるかどã�?�‹[true/false]を指定しまã�?初期値?šfalse)
045     *       startInput   【保留】ガント要ç´??開始日に紐付く入力æ¬?¼ˆ開始日またã?終äº?—¥に紐付く入力æ¬?�Œ設定しなければガント要ç´??動かせなã�?¼?
046     *       endInput     【保留】ガント要ç´??終äº?—¥に紐付く入力æ¬?¼ˆ開始日またã?終äº?—¥に紐付く入力æ¬?�Œ設定しなければガント要ç´??動かせなã�?¼?
047     *       chbox        【保留】行選択ã?チェãƒ?‚¯ボックス 設定å??š[ROW.ID]
048     *       cost         【TAG】開始日、終äº?—¥を利用して積上げられる工数を指定しますã?
049     *       capacity     【TAG】積上げのæœ?¤§値?ˆキャパシãƒ?‚£?‰をæŒ?®šしますã?
050     *       debug        【TAG】デバッグæƒ??をå?力するかどã�?�‹[true/false]を指定しまã�?初期値:false)
051     *   />
052     *
053     * ●使用ä¾?
054     *   (通常ガンãƒ?
055     *  <og:view
056     *      viewFormType = "HTMLCustomTable"
057     *      command      = "{@command}"
058     *      writable     = "false"
059     *      useScrollBar = "false"
060     *  >
061     *    <og:thead rowspan="2">
062     *      <tr>
063     *          <td>[NOORDER]</td>
064     *          <td rowspan="2" class="gantt zoom{@VZOOM}" style="line-height:normal;text-align:left;background-image: url('../image/ganttBG{@VZOOM}.gif');" >
065     *              <div style="position:relative;left:0px;z-index:101; " height="100%" width="100%" >
066     *                  <og:ganttHeader
067     *                      startDate       = "{@startDate}"
068     *                      endDate         = "{@endDate}"
069     *                      zoom            = "{@VZOOM}"
070     *                      daySpan         = "{@daySpan}"
071     *                  />
072     *              </div>
073     *          </td>
074     *      </tr>
075     *    </og:thead>
076     *    <og:tbody rowspan="2">
077     *      <tr>
078     *          <td>[NOORDER]</td>
079     *          <td rowspan="2" class="gantt zoom{@VZOOM}" style="text-align:left;background-image: url('../image/ganttBG{@VZOOM}.gif');" >
080     *              <og:iGanttBar type="1" colorNo="[COLOR]" start="[DYORDER]" end="[DYNOKI]" text="[PN]" />
081     *              <og:iGanttBar type="0" src="../image/dia_blue.gif" start="[DYORDER]"      text="開å§? />
082     *              <og:iGanttBar type="0" src="../image/dia_red.gif"  end="[DYNOKI]"         text="終äº? />
083     *          </td>
084     *      </tr>
085     *    </og:tbody>
086     *  </og:view>
087     *    
088     *   <og:iGantt
089     *       margeRows      = "true"
090     *       fixedCols      = "1"
091     *   />
092     *
093     *   (積み上げガンãƒ?
094     *  <og:view
095     *      viewFormType = "HTMLStackedGanttTable"
096     *      command      = "{@command}"
097     *      writable     = "false"
098     *      useScrollBar = "false"
099     *      useParam     = "true"
100     *      numberType   = "none"
101     *  >
102     *  <og:stackParam
103     *      stackColumns = "NOORDER"
104     *  />
105     * 
106     *    <og:thead rowspan="2">
107     *      <tr>
108     *          <td>[NOORDER]</td>
109     *          <td>[PN]</td>
110     *          <td rowspan="2" class="gantt zoom{@SZOOM}" style="text-align:left;background-image: url('../image/ganttBG{@SZOOM}.gif');" >
111     *              <div style="position:relative;left:0px;z-index:101; " height="100%" width="100%" >
112     *                  <og:ganttHeader
113     *                      startDate   = "{@startDate}"
114     *                      endDate     = "{@endDate}"
115     *                      zoom        = "{@SZOOM}"
116     *                      calDB       = "GE13"
117     *                      arg1        = "A"
118     *                  />
119     *              </div>
120     *          </td>
121     *      </tr>
122     *    </og:thead>
123     *    <og:tbody rowspan="2">
124     *      <tr>
125     *          <td>[NOORDER]</td>
126     *          <td>[PN]</td>
127     *          <td rowspan="2" class="gantt zoom{@VZOOM}" style="text-align:left;background-image: url('../image/ganttBG{@VZOOM}.gif');" >
128     *              <iGanttBar type="1" colorNo="[COLOR]" start="[DYORDER]" end="[DYNOKI]"  text="[COSTCLM]"
129     *                    cost="[COSTCLM]" capacity="[CAPACITY]" />
130     *              <og:iGanttBar type="0" src="../image/dia_blue.gif" start="[DYORDER]"      text="開å§? />
131     *          </td>
132     *      </tr>
133     *    </og:tbody>
134     *  </og:view>
135     *    
136     *   <og:iGantt
137     *       margeRows      = "true"
138     *       fixedCols      = "1"
139     *       verticalShift  = "false"
140     *       viewGantt      = "{@viewGantt}"
141     *       stackHoliday   = "{@stackHoliday}"
142     *       useBgColor     = "true"
143     *       viewMode       = "2"
144     *   />
145     *
146     * @og.rev 5.6.3.2 (2013/04/12) 新規作æ?
147     * @og.group 画面部å“?
148     *
149     * @version  5.0
150     * @author       Kazuhiko Hasegawa
151     * @since    JDK6.0,
152     */
153    public class ViewIGanttBarTag extends CommonTagSupport {
154            //* こã?プログラãƒ??VERSIONæ–?­—å?を設定しますã?       {@value} */
155            private static final String VERSION = "5.6.3.2 (2013/04/12)" ;
156    
157            private static final long serialVersionUID = 563220130412L ;
158    
159            private TagBuffer tag = new TagBuffer( "iGanttBar" ) ;
160    
161            /**
162             * Taglibの終äº?‚¿グが見つかったときに処ç�?�™ã‚?doEndTag() ã‚?オーバã?ライドしますã?
163             *
164             * @og.rev 5.8.1.0 (2014/11/07) HTML5対応ã?javaScriptで、BODYがなã�?�¨入れ子になってしまã�??
165             * @return      後続å?ç�??æŒ?¤º
166             */
167            @Override
168            public int doEndTag() {
169                    debugPrint();           // 4.0.0 (2005/02/28)
170    
171                    tag.setBody( "<!-- -->" );                // 5.8.1.0 (2014/11/07) HTML5対応ã?
172                    jspPrint( tag.makeTag() );
173    
174                    return(EVAL_PAGE);              // ペã?ジの残りを評価するã€?
175            }
176    
177            /**
178             * タグリブオブジェクトをリリースしますã?
179             * キャãƒ?‚·ュされて再利用されるã?で、フィールドã?初期設定を行いますã?
180             *
181             */
182            @Override
183            protected void release2() {
184                    super.release2();
185                    tag = new TagBuffer( "iGanttBar" );
186            }
187    
188            /**
189             * 【TAG】ガント要ç´??タイプï¼?:マイルストã?ン 1:バã? ?‰をæŒ?®šしまã�?å¿??)ã€?
190             *
191             * @og.tag
192             * 0:マイルストã?ン を指定すると、その日?ˆ時間)に、ã?ーカーがされますã?
193             * ガントã?ような期間ではなくã?そã?ポイントを表すã?に使用しますã?
194             * 例えば、受注日、納期 などの設定å?ですã?
195             * start ã�?end どちらかのæŒ?®šで構いませんã€?
196             * start を使用した場合ã?、指定日?ˆ時間)ã?前方に、endを使用した場合ã?ã€?
197             * æŒ?®š日?ˆ時間)ã?後方にマã?カーが置かれますã?
198             *
199             * @param   type ガント要ç´??タイプ[0:マイルストã?ン/1:バã?]
200             */
201            public void setType( final String type ) {
202                    tag.add( "type",StringUtil.nval( getRequestParameter( type ),null ) );
203            }
204    
205            /**
206             * 【TAG】ガント要ç´?¼ˆバー?‰ã?色コードを設定しますã?
207             *
208             * @og.tag
209             * color は、ガント要ç´??色コードを設定しますã?
210             * type="0:マイルストã?ン" の場合ã?不要ですã?
211             * こã?コードã?、予め決められた色画像を呼び出しますã?で、任意ã?色が使えるとã�?�†事ではありませんã€?
212             * 色æŒ?®šã?、横棒ã?場合ã?、image/W_色コーãƒ?png の画像を使ã�?�¾すã?
213             * 色コーãƒ?と 色番号が同時にæŒ?®šされた場合ã?、色コーãƒ?が優先されますã?
214             *
215             * type=2:差åˆ?ž  は、value ??baseVal の場合ã?、è¶?�Žをã?value ??baseValの場合ã?、不足を表しますã?
216             * <table border="1" frame="box" rules="all">
217             *   <caption>色番号 対応表</caption>
218         *   <tr><th>色番号</th><th>設定å?    </th><th>棒色   </th><th>ã€?/th><th>横棒サンプル</th></tr>
219         *   <tr><td> 0    </td><td>blue      </td><td>�    </td><td> </td><td style="background-image:url(../image/W_blue.png);">   �/td></tr>
220         *   <tr><td> 1    </td><td>black     </td><td>�    </td><td> </td><td style="background-image:url(../image/W_black.png);">  �/td></tr>
221         *   <tr><td> 2    </td><td>brown     </td><td>茶     </td><td> </td><td style="background-image:url(../image/W_brown.png);">  ã€?/td></tr>
222         *   <tr><td> 3    </td><td>green     </td><td>�    </td><td> </td><td style="background-image:url(../image/W_green.png);">  �/td></tr>
223         *   <tr><td> 4    </td><td>lightblue </td><td>è–?�’   </td><td> </td><td style="background-image:url(../image/W_lightblue.png);"> ã€?/td></tr>
224         *   <tr><td> 5    </td><td>lightgreen</td><td>è–?·?  </td><td> </td><td style="background-image:url(../image/W_lightgreen.png);"> ã€?/td></tr>
225         *   <tr><td> 6    </td><td>orange    </td><td>オレンジ</td><td> </td><td style="background-image:url(../image/W_orange.png);"> ã€?/td></tr>
226         *   <tr><td> 7    </td><td>pink      </td><td>ピンク </td><td> </td><td style="background-image:url(../image/W_pink.png);">  ã€?/td></tr>
227         *   <tr><td> 8    </td><td>purple    </td><td>紫     </td><td> </td><td style="background-image:url(../image/W_purple.png);">  ã€?/td></tr>
228         *   <tr><td> 9    </td><td>red       </td><td>赤     </td><td> </td><td style="background-image:url(../image/W_red.png);">       ã€?/td></tr>
229         *   <tr><td> 10   </td><td>yellow    </td><td>�    </td><td> </td><td style="background-image:url(../image/W_yellow.png);"> �/td></tr>
230         *   <tr><td> 11   </td><td>navy      </td><td>æ¿?´º   </td><td> </td><td style="background-image:url(../image/W_navy.png);">  ã€?/td></tr>
231         *   <tr><td> 12   </td><td>teal      </td><td>青ç·?  </td><td> </td><td style="background-image:url(../image/W_teal.png);">  ã€?/td></tr>
232         *   <tr><td> 13   </td><td>gray      </td><td>灰     </td><td> </td><td style="background-image:url(../image/W_gray.png);">    ã€?/td></tr>
233         *   <tr><td> 14   </td><td>indigo    </td><td>�    </td><td> </td><td style="background-image:url(../image/W_indigo.png);"> �/td></tr>
234         *   <tr><td> 15   </td><td>slategray </td><td>é‰?‰²   </td><td> </td><td style="background-image:url(../image/W_slategray.png);"> ã€?/td></tr>
235         *   <tr><td> 16   </td><td>chocorlate</td><td>チョコレーãƒ?/td><td> </td><td style="background-image:url(../image/W_chocorlate.png);"> ã€?/td></tr>
236         *   <tr><td> 17   </td><td>darkgreen </td><td>深ç·?  </td><td> </td><td style="background-image:url(../image/W_darkgreen.png);"> ã€?/td></tr>
237         *   <tr><td> 18   </td><td>violet    </td><td>すみã‚?</td><td> </td><td style="background-image:url(../image/W_violet.png);"> ã€?/td></tr>
238         *   <tr><td> 19   </td><td>darkslategray</td><td>深é‰?‰²</td><td> </td><td style="background-image:url(../image/W_darkslategray.png);"> ã€?/td></tr>
239         *   <tr><td> 20   </td><td>lime      </td><td>�    </td><td> </td><td style="background-image:url(../image/W_lime.png);">    �/td></tr>
240         *   <tr><td> 21   </td><td>aqua      </td><td>水色   </td><td> </td><td style="background-image:url(../image/W_aqua.png);">  ã€?/td></tr>
241         *   <tr><td> 22   </td><td>maroon    </td><td>ひわだã�?‚�</td><td> </td><td style="background-image:url(../image/W_maroon.png);"> ã€?/td></tr>
242         *   <tr><td> 23   </td><td>olive     </td><td>オリーãƒ?/td><td> </td><td style="background-image:url(../image/W_olive.png);">  ã€?/td></tr>
243         *   <tr><td> 24   </td><td>silver    </td><td>�    </td><td> </td><td style="background-image:url(../image/W_silver.png);"> �/td></tr>
244         *   <tr><td> 25   </td><td>fuchsia   </td><td>赤紫   </td><td> </td><td style="background-image:url(../image/W_fuchsia.png);"> ã€?/td></tr>
245         *   <tr><td colspan="6"> </td></tr>
246         *   <tr><td> BK   </td><td>black2    </td><td>�    </td><td> </td><td style="background-image:url(../image/W_black2.png);"> �/td></tr>
247         *   <tr><td> WT   </td><td>white2    </td><td>白     </td><td> </td><td style="background-image:url(../image/W_white2.png);"> ã€?/td></tr>
248         *   <tr><td> BL   </td><td>blue2     </td><td>�    </td><td> </td><td style="background-image:url(../image/W_blue2.png);">   �/td></tr>
249         *   <tr><td> RD   </td><td>red2      </td><td>赤     </td><td> </td><td style="background-image:url(../image/W_red2.png);">   ã€?/td></tr>
250         *   <tr><td> YL   </td><td>yellow2   </td><td>�    </td><td> </td><td style="background-image:url(../image/W_yellow2.png);"> �/td></tr>
251             * </table>
252             *
253             * @param   color グラフ要ç´??位置ã€?•·ã�?
254             */
255            public void setColor( final String color ) {
256                    tag.add( "color",StringUtil.nval( getRequestParameter( color ),null ) );
257            }
258    
259            /**
260             * 【TAG】グラフ要ç´??色番号を設定しますã?
261             *
262             * @og.tag
263             * 色番号は、色コードを直接æŒ?®šするã?ではなくã?番号でæŒ?®šするå?合に使用しますã?
264             * 棒グラフ要ç´?¼?ype="1"(横æ£?,"6"(縦æ£??‰ã?色を設定しますã?
265             * "1??5 , BK,WT,BL,RD,YL" の色番号でæŒ?®šしますã?
266             * 色番号は、与えた数字をå†?ƒ¨色数で割り算した余を使用しますã?でã€??番の場合でã‚?
267             * 繰返し使われますã?特殊な色として、BK,WT,BL,RD,YLは、番号ではなく記号でæŒ?®šできますã?
268             * 色コーãƒ?と 色番号が同時にæŒ?®šされた場合ã?、色コーãƒ?が優先されますã?
269             *
270             * @param   clrNo グラフ要ç´??描画開始位置
271             * @see         #setColor( String )
272             */
273            public void setColorNo( final String clrNo ) {
274                    tag.add( "colorNo",StringUtil.nval( getRequestParameter( clrNo ),null ) );
275            }
276    
277            /**
278             * 【TAG】ã?イルストã?ンのアイコン画åƒ?URIより設å®?を設定しますã?
279             *
280             * @og.tag
281             * type="0:マイルストã?ン" の場合ã?表示するアイコンイメージのæ‰?œ¨を指定しますã?
282             * 例ï¼?../image/xxx.png" 
283             *
284             * @param   src マイルストã?ンのアイコン画åƒ?
285             */
286            public void setSrc( final String src ) {
287                    tag.add( "src",StringUtil.nval( getRequestParameter( src ),null ) );
288            }
289    
290            /**
291             * 【TAG】開始日(YYYYMMDD)、またã?開始時é–?YYYYMMDDHH24MM)を設定しますã?
292             *
293             * @og.tag
294             * type="1:バã?" の場合ã?、バー表示の場合ã?書き始め?ˆ開始)をæŒ?®šしますã?
295             * こã?値は、バーでは、ã?含ã‚??になりますã?
296             * type="0:マイルストã?ン" の場合ã?、ã?イルストンを左端に表示しますã?
297             *
298             * @param   start 開始日(YYYYMMDD)、またã?開始時é–?YYYYMMDDHH24MM)
299             * @see         #setType( String )
300             * @see         #setEnd( String )
301             */
302            public void setStart( final String start ) {
303                    tag.add( "start",StringUtil.nval( getRequestParameter( start ),null ) );
304            }
305    
306            /**
307             * 【TAG】終äº?—¥(YYYYMMDD)、またã?終äº?™‚é–?YYYYMMDDHH24MM)を設定しますã?
308             *
309             * @og.tag
310             * type="1:バã?" の場合ã?、バー表示の場合ã?書き終わり(終äº?¼‰をæŒ?®šしますã?
311             * こã?値は、日付か時刻かで「含ã‚??/「含まなã�??が異なりますã?
312             * 日付ã?場合ã?、この値をã?含ã‚??ですã?例えばã€?/12 を指定したå?合ã?4/12は含みますã?
313             * 時刻の場合ã?、ã?含まなã�??ですã?4/12 070000 を指定したå?合ã?、午å‰?時ã?含まなã�??でã€?
314             * ?–時?•9å??•9秒までのバã?が引かれますã?
315             * type="0:マイルストã?ン" の場合ã?、ã?イルストンを右端に表示しますã?
316             *
317             * @param   end 終äº?—¥(YYYYMMDD)、またã?終äº?™‚é–?YYYYMMDDHH24MM)
318             * @see         #setType( String )
319             * @see         #setStart( String )
320             */
321            public void setEnd( final String end ) {
322                    tag.add( "end",StringUtil.nval( getRequestParameter( end ),null ) );
323            }
324    
325            /**
326             * 【TAG】バー上に表示するãƒ?‚­ストをæŒ?®šしますã?
327             *
328             * @og.tag
329             * バã?の上に、å?などのæ–?­—を重ã?て表示できますã?
330             *
331             * @param   text バã?上に表示するãƒ?‚­スãƒ?
332             */
333            public void setText( final String text ) {
334                    tag.add( "text",StringUtil.nval( getRequestParameter( text ),null ) );
335            }
336    
337            /**
338             * 【TAG】リンク作æ?時ã?値を設定しますã?
339             *
340             * @og.tag
341             * バã?の上ã?æ–?­—に対して、リンクを作æ?できますã?
342             *
343             * @param   href バã?上に表示するãƒ?‚­スãƒ?
344             * @see         #setTarget( String )
345             */
346            public void setHref( final String href ) {
347                    tag.add( "href",StringUtil.nval( getRequestParameter( href ),null ) );
348            }
349    
350            /**
351             * 【TAG】リンク作æ?時ã?ターゲãƒ?ƒˆ名をæŒ?®šしますã?
352             *
353             * @og.tag
354             * バã?の上ã?æ–?­—に対して、リンクを作æ?するときã?、ターゲãƒ?ƒˆ名をæŒ?®šできますã?
355             *
356             * @param   target リンク作æ?時ã?ターゲãƒ?ƒˆ
357             * @see         #setHref( String )
358             */
359            public void setTarget( final String target ) {
360                    tag.add( "target",StringUtil.nval( getRequestParameter( target ),null ) );
361            }
362    
363            /**
364             * 【TAG】hrefで付加されるリンクのç¯?›²にバã?本体を含めるかどã�?�‹[true/false]を指定しまã�?初期値?šfalse)ã€?
365             *
366             * @og.tag
367             * true を指定すると、hrefで付加されるリンクのç¯?›²にバã?本体を含めますã?
368             *
369             * @param   barLink リンクのç¯?›²にバã?本体を含めるかどã�?�‹[true/false]
370             * @see         #setHref( String )
371             */
372            public void setBarLink( final String barLink ) {
373                    tag.add( "barLink",StringUtil.nval( getRequestParameter( barLink ),null ) );
374            }
375    
376            /**
377             * 【保留】ガント要ç´??開始日に紐付く入力æ¬?‚’æŒ?®šしますã?
378             *
379             * @og.tag
380             * こã?入力æ¬?�Œなã�?�¨、ガント要ç´??動かせませんã€?
381             *
382             * @param   startInput 開始日に紐付く入力æ¬?
383             * @see         #setStart( String )
384             */
385            public void setStartInput( final String startInput ) {
386                    tag.add( "startInput",StringUtil.nval( getRequestParameter( startInput ),null ) );
387            }
388    
389            /**
390             * 【保留】ガント要ç´??終äº?—¥に紐付く入力æ¬?‚’æŒ?®šしますã?
391             *
392             * @og.tag
393             * こã?入力æ¬?�Œなã�?�¨、ガント要ç´??動かせませんã€?
394             *
395             * @param   endInput 終äº?—¥に紐付く入力æ¬?
396             * @see         #setEnd( String )
397             */
398            public void setEndInput( final String endInput ) {
399                    tag.add( "endInput",StringUtil.nval( getRequestParameter( endInput ),null ) );
400            }
401    
402            /**
403             * 【TAG】行選択ã?チェãƒ?‚¯ボックスを指定しますã?
404             *
405             * @og.tag
406             * 例えば、[ROW.ID] を指定する事でã€?�¸択行をæŒ?®šする事ができますã?
407             *
408             * @param   chbox 行選択ã?チェãƒ?‚¯ボックス
409             */
410            public void setChbox( final String chbox ) {
411                    tag.add( "chbox",StringUtil.nval( getRequestParameter( chbox ),null ) );
412            }
413    
414            /**
415             * 【TAG】積み上げガントã?工数を指定しますã?
416             *
417             * @og.tag
418             * 積み上げガントã?工数を指定しますã?
419             * 開始日、終äº?—¥を利用して積上げ計算されますã?
420             *
421             * @param   cost 積み上げガントã?工数
422             */
423            public void setCost( final String cost ) {
424                    tag.add( "cost",StringUtil.nval( getRequestParameter( cost ),null ) );
425            }
426    
427            /**
428             * 【TAG】積上げのæœ?¤§値?ˆキャパシãƒ?‚£?‰をæŒ?®šしますã?
429             *
430             * @og.tag
431             * æœ?¤§値をè¶?�ˆたå?合ã?、ã?ーカーされますã?
432             *
433             * @param   capacity 積み上げガントã?工数
434             */
435            public void setCapacity( final String capacity ) {
436                    tag.add( "capacity",StringUtil.nval( getRequestParameter( capacity ),null ) );
437            }
438    
439            /**
440             * タグの名称をã?返しますã?
441             * 自åˆ??身のクラス名よりã?自動的に取り出せなã�?�Ÿめã?こã?メソãƒ?ƒ‰をオーバã?ライドしますã?
442             *
443             * @return  タグの名称
444             */
445            @Override
446            protected String getTagName() {
447                    return "iGanttBar" ;
448            }
449    
450            /**
451             * こã?オブジェクトã?æ–?­—å?表現を返しますã?
452             * 基本çš?�«ãƒ?ƒ�ãƒ?‚°目çš?�«使用しますã?
453             *
454             * @return こã?クラスのæ–?­—å?表現
455             */
456            @Override
457            public String toString() {
458                    return org.opengion.fukurou.util.ToString.title( this.getClass().getName() )
459                                    .println( "VERSION"             ,VERSION        )
460                                    .println( "tag"                 ,tag.makeTag()  )
461                                    .println( "Other..."    ,getAttributes().getAttribute() )
462                                    .fixForm().toString() ;
463            }
464    }