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.HybsSystem; 019 import org.opengion.hayabusa.common.HybsSystemException; 020 import org.opengion.fukurou.util.StringUtil; 021 import org.opengion.fukurou.util.TagBuffer; 022 023 /** 024 * <pre> 025 * 明細棒グラフ(横棒?縦棒)に使用します? 026 * 027 * iBar タグは、TDタグの繰返し部に記述することで、横棒?縦棒グラフを作?します? 028 * 使用するには、headタグで、xxxx ="true" を設定する?があります? 029 * これにより、common/option/adjustBar.js が読み込まれます? 030 * 031 * type は、グラフ要??表示形式を?します?0?? が予?で?,1,2,6 が現時点で実?みです? 032 * 0:ラベル表示 1:横?2:差? 6:縦? 033 * 034 *<table border="1" frame="box" rules="all"> 035 * <tr><th colspan="2">横方向描画</th><th colspan="2">縦方向描画</th></tr> 036 * <tr><td>0</td><td>ラベル表示?比率??捗率など??/td><td>5</td><td>(保留 未実? </td></tr> 037 * <tr><td>1</td><td>横? </td><td>6</td><td>縦? </td></tr> 038 * <tr><td>2</td><td>差? </td><td>7</td><td>(保留 未実? </td></tr> 039 * <tr><td>3</td><td>(保留 未実? </td><td>8</td><td>(保留 未実? </td></tr> 040 * <tr><td>4</td><td>(保留 未実? </td><td>9</td><td>(保留 未実? </td></tr> 041 *</table> 042 * 043 * value は、位置?さを設定します?設定方法?、type 毎に異なります? 044 * baseVal は、グラフ要??描画開始位置を設定します? 045 * type=2:差? は、value ??baseVal の場合?、?を?value ??baseValの場合?、不足を表します? 046 *<table border="1" frame="box" rules="all"> 047 * <tr><th>type</th><th>設定? </th><th>説? </th></tr> 048 * <tr><td>0 </td><td>[V1] </td><td>xx% また? 0.xx??比率を設定する???のみ??br />描画位置?baseValの?ラ??合計? * カラ?1の値</td></tr> 049 * <tr><td>1 </td><td>[V1],[V2],…,[Vn]</td><td>棒?長さ=[V1],[V2],…,[Vn]?ラ??合計?</td></tr> 050 * <tr><td>2 </td><td>[V1],[V2],…,[Vn]</td><td>描画位置?baseValの?ラ??合計?<br />差?の長さ=valueの?ラ??合計? - baseValの?ラ?計?</td></tr> 051 * <tr><td>6 </td><td>[V1],[V2],…,[Vn]</td><td>棒?長さ=[V1],[V2],…,[Vn]?ラ??合計?</td></tr> 052 *</table> 053 * 054 * color は、棒グラフ要??ype="1"(横?,"6"(縦???色コードを設定します? 055 * こ?コード?、予め決められた色画像を呼び出します?で、任意?色が使えると?事ではありません? 056 *<table border="1" frame="box" rules="all"> 057 * <tr><th>色番号</th><th>設定? </th><th>棒色 </th><th>?/th><th>横棒サンプル</th><th>縦棒サンプル</th></tr> 058 * <tr><td> 0</td><td>blue </td><td>? </td><td> </td><td style="background-image:url(../image/W_blue.png);"> ?/td><td style="background-image:url(../image/H_blue.png);"> ?/td></tr> 059 * <tr><td> 1</td><td>black </td><td>? </td><td> </td><td style="background-image:url(../image/W_black.png);"> ?/td><td style="background-image:url(../image/H_black.png);"> ?/td></tr> 060 * <tr><td> 2</td><td>brown </td><td>茶 </td><td> </td><td style="background-image:url(../image/W_brown.png);"> ?/td><td style="background-image:url(../image/H_brown.png);"> ?/td></tr> 061 * <tr><td> 3</td><td>green </td><td>? </td><td> </td><td style="background-image:url(../image/W_green.png);"> ?/td><td style="background-image:url(../image/H_green.png);"> ?/td></tr> 062 * <tr><td> 4</td><td>lightblue </td><td>? </td><td> </td><td style="background-image:url(../image/W_lightblue.png);"> ?/td><td style="background-image:url(../image/H_lightblue.png);"> ?/td></tr> 063 * <tr><td> 5</td><td>lightgreen </td><td>?? </td><td> </td><td style="background-image:url(../image/W_lightgreen.png);"> ?/td><td style="background-image:url(../image/H_lightgreen.png);"> ?/td></tr> 064 * <tr><td> 6</td><td>orange </td><td>オレンジ </td><td> </td><td style="background-image:url(../image/W_orange.png);"> ?/td><td style="background-image:url(../image/H_orange.png);"> ?/td></tr> 065 * <tr><td> 7</td><td>pink </td><td>ピンク </td><td> </td><td style="background-image:url(../image/W_pink.png);"> ?/td><td style="background-image:url(../image/H_pink.png);"> ?/td></tr> 066 * <tr><td> 8</td><td>purple </td><td>紫 </td><td> </td><td style="background-image:url(../image/W_purple.png);"> ?/td><td style="background-image:url(../image/H_purple.png);"> ?/td></tr> 067 * <tr><td> 9</td><td>red </td><td>赤 </td><td> </td><td style="background-image:url(../image/W_red.png);"> ?/td><td style="background-image:url(../image/H_red.png);"> ?/td></tr> 068 * <tr><td> 10</td><td>yellow </td><td>? </td><td> </td><td style="background-image:url(../image/W_yellow.png);"> ?/td><td style="background-image:url(../image/H_yellow.png);"> ?/td></tr> 069 * <tr><td> 11</td><td>navy </td><td>? </td><td> </td><td style="background-image:url(../image/W_navy.png);"> ?/td><td style="background-image:url(../image/H_navy.png);"> ?/td></tr> 070 * <tr><td> 12</td><td>teal </td><td>青? </td><td> </td><td style="background-image:url(../image/W_teal.png);"> ?/td><td style="background-image:url(../image/H_teal.png);"> ?/td></tr> 071 * <tr><td> 13</td><td>gray </td><td>灰 </td><td> </td><td style="background-image:url(../image/W_gray.png);"> ?/td><td style="background-image:url(../image/H_gray.png);"> ?/td></tr> 072 * <tr><td> 14</td><td>indigo </td><td>? </td><td> </td><td style="background-image:url(../image/W_indigo.png);"> ?/td><td style="background-image:url(../image/H_indigo.png);"> ?/td></tr> 073 * <tr><td> 15</td><td>slategray </td><td>? </td><td> </td><td style="background-image:url(../image/W_slategray.png);"> ?/td><td style="background-image:url(../image/H_slategray.png);"> ?/td></tr> 074 * <tr><td> 16</td><td>chocorlate </td><td>チョコレー?</td><td> </td><td style="background-image:url(../image/W_chocorlate.png);"> ?/td><td style="background-image:url(../image/H_chocorlate.png);"> ?/td></tr> 075 * <tr><td> 17</td><td>darkgreen </td><td>深? </td><td> </td><td style="background-image:url(../image/W_darkgreen.png);"> ?/td><td style="background-image:url(../image/H_darkgreen.png);"> ?/td></tr> 076 * <tr><td> 18</td><td>violet </td><td>すみ?</td><td> </td><td style="background-image:url(../image/W_violet.png);"> ?/td><td style="background-image:url(../image/H_violet.png);"> ?/td></tr> 077 * <tr><td> 19</td><td>darkslategray</td><td>深? </td><td> </td><td style="background-image:url(../image/W_darkslategray.png);"> ?/td><td style="background-image:url(../image/H_darkslategray.png);"> ?/td></tr> 078 * <tr><td> 20</td><td>lime </td><td>? </td><td> </td><td style="background-image:url(../image/W_lime.png);"> ?/td><td style="background-image:url(../image/H_lime.png);"> ?/td></tr> 079 * <tr><td> 21</td><td>aqua </td><td>水色 </td><td> </td><td style="background-image:url(../image/W_aqua.png);"> ?/td><td style="background-image:url(../image/H_aqua.png);"> ?/td></tr> 080 * <tr><td> 22</td><td>maroon </td><td>ひわだ? </td><td> </td><td style="background-image:url(../image/W_maroon.png);"> ?/td><td style="background-image:url(../image/H_maroon.png);"> ?/td></tr> 081 * <tr><td> 23</td><td>olive </td><td>オリー?</td><td> </td><td style="background-image:url(../image/W_olive.png);"> ?/td><td style="background-image:url(../image/H_olive.png);"> ?/td></tr> 082 * <tr><td> 24</td><td>silver </td><td>? </td><td> </td><td style="background-image:url(../image/W_silver.png);"> ?/td><td style="background-image:url(../image/H_silver.png);"> ?/td></tr> 083 * <tr><td> 25</td><td>fuchsia </td><td>赤紫 </td><td> </td><td style="background-image:url(../image/W_fuchsia.png);"> ?/td><td style="background-image:url(../image/H_fuchsia.png);"> ?/td></tr> 084 * <tr><td> ?/td><td> </td><td> </td><td> </td><td> ?/td><td> ?/td></tr> 085 * <tr><td> BK</td><td>black2 </td><td>? </td><td> </td><td style="background-image:url(../image/W_black2.png);"> ?/td><td style="background-image:url(../image/H_black2.png);"> ?/td></tr> 086 * <tr><td> WT</td><td>white2 </td><td>白 </td><td> </td><td style="background-image:url(../image/W_white2.png);"> ?/td><td style="background-image:url(../image/H_white2.png);"> ?/td></tr> 087 * <tr><td> BL</td><td>blue2 </td><td>? </td><td> </td><td style="background-image:url(../image/W_blue2.png);"> ?/td><td style="background-image:url(../image/H_blue2.png);"> ?/td></tr> 088 * <tr><td> RD</td><td>red2 </td><td>赤 </td><td> </td><td style="background-image:url(../image/W_red2.png);"> ?/td><td style="background-image:url(../image/H_red2.png);"> ?/td></tr> 089 * <tr><td> YL</td><td>yellow2 </td><td>? </td><td> </td><td style="background-image:url(../image/W_yellow2.png);"> ?/td><td style="background-image:url(../image/H_yellow2.png);"> ?/td></tr> 090 *</table> 091 * 092 * colorNo 色番号は、色コードを直接?する?ではなく?番号で?する?合に使用します? 093 * 棒グラフ要??ype="1"(横?,"6"(縦???色を設定します? 094 * "1??5 , BK,WT,BL,RD,YL" の色番号で?します? 095 * 色番号は、与えた数字を?色数で割り算した余を使用します?で??番の場合で? 096 * 繰返し使われます?特殊な色として、BK,WT,BL,RD,YLは、番号ではなく記号で?できます? 097 * 098 * zeroBorder は?true" で、?がゼロの時にも???バ?を表示する? 099 * 100 * graphThick は、グラフ?バ?の??します? 101 * 102 * </pre> 103 * 104 * @og.formSample 105 * ●形式?lt;og:iBar ... /> 106 * ●body?な? 107 * ●前提:headタグで、adjustEvent="Bar" を指定してください? 108 * 109 * ●Tag定義?? 110 * <og:iBar 111 * type 【TAG】グラフ要??表示形式を設?0:ラベル表示 1:横?2:差? 6:縦?(??) 112 * value 【TAG】グラフ要??位置?さを設?typeにより設定方法が異な?(??) 113 * baseVal 【TAG】グラフ要??描画開始位置を設?type=0,2の場合??) 114 * color 【TAG】棒グラフ要??ype="1"(横?,"6"(縦???色コードを設定する? 115 * colorNo 【TAG?1??5 , BK,WT,BL,RD,YL" の色番号を設定する? 116 * text 【TAG】バー上に表示する?ストを?します? 117 * href 【TAG】リンク作?時?値を設定します? 118 * target 【TAG】リンク作?時?ターゲ?名を?します? 119 * optionAttributes 【TAG?{kay:val,key:val} 形式で、属?を追?ます? 120 * zeroBorder 【TAG】最小?バ?を表示するかど?[true/false]を指定しま?初期値:false) 121 * graphThick 【TAG】グラフ?バ?の??します? 122 * paddingLeft 【TAG】ガントバーの間?左区?スペ?スを指定しま?初期値=null) 123 * paddingRigth 【TAG】ガントバーの間?右区?スペ?スを指定しま?初期値=null) 124 * debug 【TAG】デバッグ??を?力するかど?[true/false]を指定しま?初期値:false) 125 * /> 126 * 127 * ●使用? 128 * <og:view command="{@command}" /> 129 * <og:tbody rowspan="1" > 130 * <tr> 131 * <og:td> 132 * <og:iBar 133 * type = "X" 134 * value = "[V1],[V2],…,[Vn]" 135 * baseVal = "[BV1],[BV2],…,[BVn]" 136 * color = "C1,C2,…,Cn" 137 * /> 138 * </td> </tr> 139 * </og:tbody> 140 * </og:view> 141 * 142 * @og.rev 5.6.3.2 (2013/04/12) 新規作? 143 * @og.group 画面部? 144 * 145 * @version 5.0 146 * @author Kazuhiko Hasegawa 147 * @since JDK1.7, 148 */ 149 public class ViewIBarTag extends CommonTagSupport { 150 //* こ?プログラ??VERSION??を設定します? {@value} */ 151 private static final String VERSION = "5.6.4.3 (2013/05/24)" ; 152 153 private static final long serialVersionUID = 564320130524L ; 154 155 /** type 引数に渡す事?出来?タイプリス? */ 156 private static final String[] TYPE_LIST = new String[] { "0" , "1" , "2" , "6" }; 157 158 private TagBuffer tag = new TagBuffer( "iBar" ) ; 159 160 // ペ?ジ?? iBar タグのid設定用のユニ?ク番号? 161 // java.util.concurrent.atomic.AtomicInteger を使?でもな?? 162 private static int tagId = 100; 163 164 /** 165 * Taglibの終?グが見つかったときに処??doEndTag() ?オーバ?ライドします? 166 * 167 * @return 後続???? 168 */ 169 @Override 170 public int doEndTag() { 171 debugPrint(); // 4.0.0 (2005/02/28) 172 173 tag.add( "id",getTagId() ); 174 175 jspPrint( tag.makeTag() ); 176 177 return(EVAL_PAGE); // ペ?ジの残りを評価する? 178 } 179 180 /** 181 * タグリブオブジェクトをリリースします? 182 * キャ?ュされて再利用される?で、フィールド?初期設定を行います? 183 * 184 */ 185 @Override 186 protected void release2() { 187 super.release2(); 188 tag = new TagBuffer( "iBar" ); 189 } 190 191 /** 192 * 【TAG】グラフ要??表示形式を設?0:ラベル表示 1:横?2:差? 6:縦?しま???)? 193 * 194 * @og.tag 195 * type は、グラフ要??表示形式を?します?0?? が予?で?,1,2,6 が現時点で実?みです? 196 * 0:ラベル表示 1:横?2:差? 6:縦? 197 * 198 * @param type グラフ要??表示形式[0:ラベル表示 1:横?2:差? 6:縦棒] 199 */ 200 public void setType( final String type ) { 201 String tmpType = StringUtil.nval( getRequestParameter( type ),null ); 202 203 if( tmpType == null || !check( tmpType, TYPE_LIST ) ) { 204 String errMsg = "??表示形?type)は??か?また?、指定?値のみ登録可能です?" 205 + HybsSystem.CR 206 + "type=[" + tmpType + "] " 207 + HybsSystem.CR 208 + "登録可能な値=" + StringUtil.array2csv( TYPE_LIST ) ; 209 throw new HybsSystemException( errMsg ); 210 } 211 212 tag.add( "type",tmpType ); 213 } 214 215 /** 216 * 【TAG】グラフ要??位置?さを設定しま?typeにより設定方法が異な?(??) 217 * 218 * @og.tag 219 * value は、グラフ要??位置?さを設定します?設定方法?、type 毎に異なります? 220 * baseVal は、グラフ要??描画開始位置を設定します? 221 * type=2:差? は、value ??baseVal の場合?、?を?value ??baseValの場合?、不足を表します? 222 *<table border="1" frame="box" rules="all"> 223 * <tr><th>type</th><th>設定? </th><th>説? </th></tr> 224 * <tr><td>0 </td><td>[V1] </td><td>xx% また? 0.xx??比率を設定する???のみ??br />描画位置?baseValの?ラ??合計? * カラ?1の値</td></tr> 225 * <tr><td>1 </td><td>[V1],[V2],…,[Vn]</td><td>棒?長さ=[V1],[V2],…,[Vn]?ラ??合計?</td></tr> 226 * <tr><td>2 </td><td>[V1],[V2],…,[Vn]</td><td>描画位置?baseValの?ラ??合計?<br />差?の長さ=valueの?ラ??合計? - baseValの?ラ?計?</td></tr> 227 * <tr><td>6 </td><td>[V1],[V2],…,[Vn]</td><td>棒?長さ=[V1],[V2],…,[Vn]?ラ??合計?</td></tr> 228 *</table> 229 * 230 * @param val グラフ要??位置?? 231 */ 232 public void setValue( final String val ) { 233 String tmpVal = StringUtil.nval( getRequestParameter( val ),null ); 234 235 if( tmpVal == null ) { 236 String errMsg = "value は、??です?"; 237 throw new HybsSystemException( errMsg ); 238 } 239 240 tag.add( "value",tmpVal ); 241 } 242 243 /** 244 * 【TAG】グラフ要??描画開始位置を設定します? 245 * 246 * @og.tag 247 * こ?値は、type=0,2の場合???になります? 248 * type=2:差? は、value ??baseVal の場合?、?を?value ??baseValの場合?、不足を表します? 249 *<table border="1" frame="box" rules="all"> 250 * <tr><th>type</th><th>設定? </th><th>説? </th></tr> 251 * <tr><td>0 </td><td>[V1] </td><td>xx% また? 0.xx??比率を設定する???のみ??br />描画位置?baseValの?ラ??合計? * カラ?1の値</td></tr> 252 * <tr><td>2 </td><td>[V1],[V2],…,[Vn]</td><td>描画位置?baseValの?ラ??合計?<br />差?の長さ=valueの?ラ??合計? - baseValの?ラ?計?</td></tr> 253 *</table> 254 * 255 * @param bval グラフ要??描画開始位置 256 */ 257 public void setBaseVal( final String bval ) { 258 tag.add( "baseVal",StringUtil.nval( getRequestParameter( bval ), null ) ); 259 } 260 261 /** 262 * 【TAG】棒グラフ要??ype="1"(横?,"6"(縦???色コードを設定します? 263 * 264 * @og.tag 265 * color は、棒グラフ要??ype="1"(横?,"6"(縦???色コードを設定します? 266 * こ?コード?、予め決められた色画像を呼び出します?で、任意?色が使えると?事ではありません? 267 * 色??、横棒?場合?、image/W_色コー?png で、縦棒?場合?、image/H_色コー?png の画像を使?す? 268 * 色コー?と 色番号が同時に?された場合?、色コー?が優先されます? 269 * 270 * type=2:差? は、value ??baseVal の場合?、?を?value ??baseValの場合?、不足を表します? 271 *<table border="1" frame="box" rules="all"> 272 * <tr><th>色番号</th><th>設定? </th><th>棒色 </th><th>?/th><th>横棒サンプル</th><th>縦棒サンプル</th></tr> 273 * <tr><td> 0</td><td>blue </td><td>? </td><td> </td><td style="background-image:url(../image/W_blue.png);"> ?/td><td style="background-image:url(../image/H_blue.png);"> ?/td></tr> 274 * <tr><td> 1</td><td>black </td><td>? </td><td> </td><td style="background-image:url(../image/W_black.png);"> ?/td><td style="background-image:url(../image/H_black.png);"> ?/td></tr> 275 * <tr><td> 2</td><td>brown </td><td>茶 </td><td> </td><td style="background-image:url(../image/W_brown.png);"> ?/td><td style="background-image:url(../image/H_brown.png);"> ?/td></tr> 276 * <tr><td> 3</td><td>green </td><td>? </td><td> </td><td style="background-image:url(../image/W_green.png);"> ?/td><td style="background-image:url(../image/H_green.png);"> ?/td></tr> 277 * <tr><td> 4</td><td>lightblue </td><td>? </td><td> </td><td style="background-image:url(../image/W_lightblue.png);"> ?/td><td style="background-image:url(../image/H_lightblue.png);"> ?/td></tr> 278 * <tr><td> 5</td><td>lightgreen </td><td>?? </td><td> </td><td style="background-image:url(../image/W_lightgreen.png);"> ?/td><td style="background-image:url(../image/H_lightgreen.png);"> ?/td></tr> 279 * <tr><td> 6</td><td>orange </td><td>オレンジ </td><td> </td><td style="background-image:url(../image/W_orange.png);"> ?/td><td style="background-image:url(../image/H_orange.png);"> ?/td></tr> 280 * <tr><td> 7</td><td>pink </td><td>ピンク </td><td> </td><td style="background-image:url(../image/W_pink.png);"> ?/td><td style="background-image:url(../image/H_pink.png);"> ?/td></tr> 281 * <tr><td> 8</td><td>purple </td><td>紫 </td><td> </td><td style="background-image:url(../image/W_purple.png);"> ?/td><td style="background-image:url(../image/H_purple.png);"> ?/td></tr> 282 * <tr><td> 9</td><td>red </td><td>赤 </td><td> </td><td style="background-image:url(../image/W_red.png);"> ?/td><td style="background-image:url(../image/H_red.png);"> ?/td></tr> 283 * <tr><td> 10</td><td>yellow </td><td>? </td><td> </td><td style="background-image:url(../image/W_yellow.png);"> ?/td><td style="background-image:url(../image/H_yellow.png);"> ?/td></tr> 284 * <tr><td> 11</td><td>navy </td><td>? </td><td> </td><td style="background-image:url(../image/W_navy.png);"> ?/td><td style="background-image:url(../image/H_navy.png);"> ?/td></tr> 285 * <tr><td> 12</td><td>teal </td><td>青? </td><td> </td><td style="background-image:url(../image/W_teal.png);"> ?/td><td style="background-image:url(../image/H_teal.png);"> ?/td></tr> 286 * <tr><td> 13</td><td>gray </td><td>灰 </td><td> </td><td style="background-image:url(../image/W_gray.png);"> ?/td><td style="background-image:url(../image/H_gray.png);"> ?/td></tr> 287 * <tr><td> 14</td><td>indigo </td><td>? </td><td> </td><td style="background-image:url(../image/W_indigo.png);"> ?/td><td style="background-image:url(../image/H_indigo.png);"> ?/td></tr> 288 * <tr><td> 15</td><td>slategray </td><td>? </td><td> </td><td style="background-image:url(../image/W_slategray.png);"> ?/td><td style="background-image:url(../image/H_slategray.png);"> ?/td></tr> 289 * <tr><td> 16</td><td>chocorlate </td><td>チョコレー?</td><td> </td><td style="background-image:url(../image/W_chocorlate.png);"> ?/td><td style="background-image:url(../image/H_chocorlate.png);"> ?/td></tr> 290 * <tr><td> 17</td><td>darkgreen </td><td>深? </td><td> </td><td style="background-image:url(../image/W_darkgreen.png);"> ?/td><td style="background-image:url(../image/H_darkgreen.png);"> ?/td></tr> 291 * <tr><td> 18</td><td>violet </td><td>すみ?</td><td> </td><td style="background-image:url(../image/W_violet.png);"> ?/td><td style="background-image:url(../image/H_violet.png);"> ?/td></tr> 292 * <tr><td> 19</td><td>darkslategray</td><td>深? </td><td> </td><td style="background-image:url(../image/W_darkslategray.png);"> ?/td><td style="background-image:url(../image/H_darkslategray.png);"> ?/td></tr> 293 * <tr><td> 20</td><td>lime </td><td>? </td><td> </td><td style="background-image:url(../image/W_lime.png);"> ?/td><td style="background-image:url(../image/H_lime.png);"> ?/td></tr> 294 * <tr><td> 21</td><td>aqua </td><td>水色 </td><td> </td><td style="background-image:url(../image/W_aqua.png);"> ?/td><td style="background-image:url(../image/H_aqua.png);"> ?/td></tr> 295 * <tr><td> 22</td><td>maroon </td><td>ひわだ? </td><td> </td><td style="background-image:url(../image/W_maroon.png);"> ?/td><td style="background-image:url(../image/H_maroon.png);"> ?/td></tr> 296 * <tr><td> 23</td><td>olive </td><td>オリー?</td><td> </td><td style="background-image:url(../image/W_olive.png);"> ?/td><td style="background-image:url(../image/H_olive.png);"> ?/td></tr> 297 * <tr><td> 24</td><td>silver </td><td>? </td><td> </td><td style="background-image:url(../image/W_silver.png);"> ?/td><td style="background-image:url(../image/H_silver.png);"> ?/td></tr> 298 * <tr><td> 25</td><td>fuchsia </td><td>赤紫 </td><td> </td><td style="background-image:url(../image/W_fuchsia.png);"> ?/td><td style="background-image:url(../image/H_fuchsia.png);"> ?/td></tr> 299 * <tr><td> ?/td><td> </td><td> </td><td> </td><td> ?/td><td> ?/td></tr> 300 * <tr><td> BK</td><td>black2 </td><td>? </td><td> </td><td style="background-image:url(../image/W_black2.png);"> ?/td><td style="background-image:url(../image/H_black2.png);"> ?/td></tr> 301 * <tr><td> WT</td><td>white2 </td><td>白 </td><td> </td><td style="background-image:url(../image/W_white2.png);"> ?/td><td style="background-image:url(../image/H_white2.png);"> ?/td></tr> 302 * <tr><td> BL</td><td>blue2 </td><td>? </td><td> </td><td style="background-image:url(../image/W_blue2.png);"> ?/td><td style="background-image:url(../image/H_blue2.png);"> ?/td></tr> 303 * <tr><td> RD</td><td>red2 </td><td>赤 </td><td> </td><td style="background-image:url(../image/W_red2.png);"> ?/td><td style="background-image:url(../image/H_red2.png);"> ?/td></tr> 304 * <tr><td> YL</td><td>yellow2 </td><td>? </td><td> </td><td style="background-image:url(../image/W_yellow2.png);"> ?/td><td style="background-image:url(../image/H_yellow2.png);"> ?/td></tr> 305 *</table> 306 * 307 * @param color グラフ要??位置?? 308 */ 309 public void setColor( final String color ) { 310 tag.add( "color",StringUtil.nval( getRequestParameter( color ),null ) ); 311 } 312 313 /** 314 * 【TAG】グラフ要??色番号を設定します? 315 * 316 * @og.tag 317 * 色番号は、色コードを直接?する?ではなく?番号で?する?合に使用します? 318 * 棒グラフ要??ype="1"(横?,"6"(縦???色を設定します? 319 * "1??5 , BK,WT,BL,RD,YL" の色番号で?します? 320 * 色番号は、与えた数字を?色数で割り算した余を使用します?で??番の場合で? 321 * 繰返し使われます?特殊な色として、BK,WT,BL,RD,YLは、番号ではなく記号で?できます? 322 * 色コー?と 色番号が同時に?された場合?、色コー?が優先されます? 323 * 324 * @param clrNo グラフ要??描画開始位置 325 * @see #setColor( String ) 326 */ 327 public void setColorNo( final String clrNo ) { 328 tag.add( "colorNo",StringUtil.nval( getRequestParameter( clrNo ),null ) ); 329 } 330 331 /** 332 * 【TAG】バー上に表示する?ストを?します? 333 * 334 * @og.tag 335 * バ?の上に、?などの?を重?て表示できます? 336 * 337 * @param text バ?上に表示する?ス? 338 */ 339 public void setText( final String text ) { 340 tag.add( "text",StringUtil.nval( getRequestParameter( text ),null ) ); 341 } 342 343 /** 344 * 【TAG】リンク作?時?値を設定します? 345 * 346 * @og.tag 347 * バ?の上??に対して、リンクを作?できます? 348 * 349 * @param href バ?上に表示する?ス? 350 * @see #setTarget( String ) 351 */ 352 public void setHref( final String href ) { 353 tag.add( "href",StringUtil.nval( getRequestParameter( href ),null ) ); 354 } 355 356 /** 357 * 【TAG】リンク作?時?ターゲ?名を?します? 358 * 359 * @og.tag 360 * バ?の上??に対して、リンクを作?するとき?、ターゲ?名を?できます? 361 * 362 * @param target リンク作?時?ターゲ? 363 * @see #setHref( String ) 364 */ 365 public void setTarget( final String target ) { 366 tag.add( "target",StringUtil.nval( getRequestParameter( target ),null ) ); 367 } 368 369 /** 370 * 【TAG】既定?属?以外?属?を追?ます? 371 * 372 * @og.tag 373 * {kay:val,key:val} 形式で、属?を追?ます? 374 * 375 * @param optAtt 属?を追? 376 */ 377 public void setOptionAttributes( final String optAtt ) { 378 tag.add( "optionAttributes",StringUtil.nval( getRequestParameter( optAtt ),null ) ); 379 } 380 381 /** 382 * 【TAG】最小?バ?を表示するかど?[true/false]を指定しま?初期値:false) 383 * 384 * @og.tag 385 * 設定?が?ゼロの場合に、バーを?した??合?、true に? 386 * 何も出したくな??合?、false に設定します? 387 * 初期値は、false(バ?を?さな? です? 388 * 389 * @param zeroBorder ??バ?を表示するかど?[true/false] 390 */ 391 public void setZeroBorder( final String zeroBorder ) { 392 tag.add( "zeroBorder",StringUtil.nval( getRequestParameter( zeroBorder ),null ) ); 393 } 394 395 /** 396 * 【TAG】グラフ?バ?の??します? 397 * 398 * @og.tag 399 * 何も?しな??合???常のバ?の画像ファイルが適用されます? 400 * 401 * @param graphThick グラフ?バ?の? 402 */ 403 public void setGraphThick( final String graphThick ) { 404 tag.add( "graphThick",StringUtil.nval( getRequestParameter( graphThick ),null ) ); 405 } 406 407 /** 408 * 【TAG】バーの間?左区?スペ?スをピクセルで?しま?初期値:null) 409 * 410 * @og.tag 411 * バ?表示で連続して同じ色で繋げる?合?くっつ?表示されます? 412 * これを?区別できるように、左区?スペ?スをピクセルで?します? 413 * 414 * 初期値は、null(属?を?力しな? です? 415 * 416 * @og.rev 5.6.4.3 (2013/05/24) 新規追? 417 * 418 * @param paddingLeft 左区?スペ?ス 419 * @see #setPaddingRigth( String ) 420 */ 421 public void setPaddingLeft( final String paddingLeft ) { 422 tag.add( "paddingLeft",StringUtil.nval( getRequestParameter( paddingLeft ),null ) ); 423 } 424 425 /** 426 * 【TAG】バーの間?右区?スペ?スをピクセルで?しま?初期値:null) 427 * 428 * @og.tag 429 * バ?表示で連続して同じ色で繋げる?合?くっつ?表示されます? 430 * これを?区別できるように、右区?スペ?スをピクセルで?します? 431 * 432 * 初期値は、null(属?を?力しな? です? 433 * 434 * @og.rev 5.6.4.3 (2013/05/24) 新規追? 435 * 436 * @param paddingRigth 左区?スペ?ス 437 * @see #setPaddingLeft( String ) 438 */ 439 public void setPaddingRigth( final String paddingRigth ) { 440 tag.add( "paddingRigth",StringUtil.nval( getRequestParameter( paddingRigth ),null ) ); 441 } 442 443 /** 444 * iBar タグがユニ?クになるよ? id 値を返します? 445 * 446 * iBar は、レコードに?作?されるため?まず?iBar作?都度のユニ?クIDと 447 * それをViewFormで展開後にユニ?クな番号になる様にするための行番号が?合わされ? 448 * ID が?です? 449 * iBatXXX_[I] 形式?IDを作?します? 450 * 別スレ?による同時アクセスで整合?が?綻(同じ番号が返る)しても?問題ありません? 451 * 452 * @return ユニ?クな id 値 453 */ 454 private static String getTagId() { 455 String id = "IBar" + ( tagId++ ) + "_[I]"; 456 457 if( tagId > 999 ) { tagId = 100; } 458 459 return ( id ); 460 } 461 462 /** 463 * タグの名称を?返します? 464 * 自??身のクラス名より?自動的に取り出せな?め?こ?メソ?をオーバ?ライドします? 465 * 466 * @return タグの名称 467 */ 468 @Override 469 protected String getTagName() { 470 return "iBar" ; 471 } 472 473 /** 474 * こ?オブジェクト???表現を返します? 475 * 基本???目?使用します? 476 * 477 * @return こ?クラスの??表現 478 */ 479 @Override 480 public String toString() { 481 return org.opengion.fukurou.util.ToString.title( this.getClass().getName() ) 482 .println( "VERSION" ,VERSION ) 483 .println( "tag" ,tag.makeTag() ) 484 .println( "Other..." ,getAttributes().getAttribute() ) 485 .fixForm().toString() ; 486 } 487 }